用户注册



邮箱:

密码:

用户登录


邮箱:

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

发表随想


还能输入: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、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

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

加载中,请稍后...