用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - c#代码库

复制文件夹

2012-10-19 作者: 程序猿style举报

[c#]代码库

using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
namespace ConsoleApplication1
{
class Program
{
	static void Main ( string[] args )
	{
		//实例化test类,用于调用该类中的copy函数
		test a = new test();
		a.copy ( "D:\\新建文件夹(2)", "D:\\新建文件夹" );//试验
	}
	//test类的编写
	public sealed class test
	{
		public test()
		{
		}
		public void copy ( string source, string destination ) //source 是原文件夹的路径,destination是要复制到的目标文件夹路径
		{
			//调用文件夹复制函数
			test.CopyDirectory ( source, destination );
			//将原文件夹里的内容写进目标文件夹下的"记录.txt"里
			StreamWriter writer = new StreamWriter ( destination + "\\记录.txt" );
			//Directory.GetFileSystemEntries() 可以得到指定目录包含子文件夹以及文件名字的字符串数组
			string[] names = Directory.GetFileSystemEntries ( source );
			//历遍names数组,把原文件那些名字全写进去
			foreach ( string name in names )
			{
				writer.WriteLine ( name );
			}
			writer.Close();
		}
		//文件夹复制函数编写
		public static void CopyDirectory ( String source, String destination )
		{
			DirectoryInfo info = new DirectoryInfo ( source );
			foreach ( FileSystemInfo fsi in info.GetFileSystemInfos() )
			{
				//目标路径destName = 目标文件夹路径 + 原文件夹下的子文件(或文件夹)名字
				//Path.Combine(string a ,string b) 为合并两个字符串
				String destName = Path.Combine ( destination, fsi.Name );
				//如果是文件类,就复制文件
				if ( fsi is System.IO.FileInfo )
					File.Copy ( fsi.FullName, destName );
				//如果不是 则为文件夹,继续调用文件夹复制函数,递归
				else
				{
					Directory.CreateDirectory ( destName );
					CopyDirectory ( fsi.FullName, destName );
				}
			}
		}
	}
	//CopyDirectory 这个函数是我引用别人的,写的很好就留下了,我只是在外面加了个把信息记录下来而已
}
}


网友评论    (发表评论)

共1 条评论 1/1页

发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...