C#将文件/文件夹复制到指定文件夹

本文介绍如何使用C#编程语言将文件和文件夹复制到指定的目标文件夹。包括一种仅复制源文件夹根目录文件的方法,并通过递归处理包含子文件夹的情况。

有时候程序需要准备初始文件。可以使用下面方法复制初始文件到指定文件夹。

方法一:只将源文件夹根目录的文件复制到目标文件夹。

if (!Directory.Exists(destDir))//若目标文件夹不存在
{
    string newPath;
    FileInfo fileInfo;
    Directory.CreateDirectory(destDir);//创建目标文件夹
    //遍历文件
    string[] strs = Directory.GetFiles(srcDir);//获取源文件夹中的所有文件完整路径
    foreach(string path in strs)
    {
        fileInfo = new FileInfo(path);
        //如果需要筛选:
        //此处可使用fileInfo.Extension(.扩展名)
        //fileInfo.Name (文件名.扩展名)等获取文件扩展名做筛选
        newPath = destDir+ fileInfo.Name;
        File.Copy(path, newPath, true);
    }           
}

递归用于文件夹中有子文件夹的时候:

private void GetFilesAndDirs(string srcDir,string destDir)
{
    if (!Directory.Exists(destDir))//若目标文件夹不存在
    {
        string newPath;
        FileInfo fileInfo;
        Directory.CreateDirectory(destDir);//创建目标文件夹                                                  
        string[] files = Directory.GetFiles(srcDir);//获取源文件夹中的所有文件完整路径
        foreach (string path in files)          //遍历文件     
        {
            fileInfo = new FileInfo(path);
            newPath = destDir + fileInfo.Name;
            File.Copy(path, newPath, true);
        }
        string[] dirs = Directory.GetDirectories(srcDir);
        foreach (string path in dirs)        //遍历文件夹
        {
            DirectoryInfo directory = new DirectoryInfo(path);
            string newDir = destDir + directory.Name;
            GetFilesAndDirs(path+"\\", newDir+"\\");
        }
    }          
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值