雷达智富

首页 > 内容 > 程序笔记 > 正文

程序笔记

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

2024-10-11 40

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

可以使用C#的File类中的Copy方法来复制文件到指定文件夹。下面是一个示例代码片段,展示如何将名为sourceFile的文件复制到名为destinationFolder的目标文件夹:

string sourceFile = @"C:\SourceFolder\file.txt";
string destinationFolder = @"C:\DestinationFolder";

// 如果目标文件夹不存在,则创建目标文件夹
if (!Directory.Exists(destinationFolder))
{
    Directory.CreateDirectory(destinationFolder);
}

// 获取源文件的文件名并将其添加到目标文件夹路径中
string fileName = Path.GetFileName(sourceFile);
string destFile = Path.Combine(destinationFolder, fileName);

// 复制源文件到目标文件夹
File.Copy(sourceFile, destFile, true);

c#复制文件夹的所有文件到指定文件夹

可以使用C#的Directory类中的Copy方法来复制文件夹。下面是一个示例代码片段,展示如何用递归的方式把名为sourceFolder的文件夹的所有文件和子文件夹及文件复制到名为destinationFolder的目标文件夹:

string sourceFolder = @"C:\SourceFolder";
string destinationFolder = @"C:\DestinationFolder";

// 如果目标文件夹不存在,则创建目标文件夹
if (!Directory.Exists(destinationFolder))
{
    Directory.CreateDirectory(destinationFolder);
}

// 复制源文件夹和其所有内容到目标文件夹
DirectoryCopy(sourceFolder, destinationFolder, true);

// 递归复制文件夹和其所有内容
public static void DirectoryCopy(string sourceDirName, string destDirName, bool copySubDirs)
{
    DirectoryInfo dir = new DirectoryInfo(sourceDirName);
    DirectoryInfo[] dirs = dir.GetDirectories();

    // 如果源文件夹不存在,则引发异常
    if (!dir.Exists)
    {
        throw new DirectoryNotFoundException("Source directory does not exist or could not be found: " + sourceDirName);
    }

    // 如果目标文件夹不存在,则创建目标文件夹
    if (!Directory.Exists(destDirName))
    {
        Directory.CreateDirectory(destDirName);
    }

    // 获取源文件夹中的所有文件并复制它们到目标文件夹
    FileInfo[] files = dir.GetFiles();
    foreach (FileInfo file in files)
    {
        string tempPath = Path.Combine(destDirName, file.Name);
        file.CopyTo(tempPath, true);
    }

    // 如果需要复制子文件夹,则递归复制它们
    if (copySubDirs)
    {
        foreach (DirectoryInfo subdir in dirs)
        {
            string tempPath = Path.Combine(destDirName, subdir.Name);
            DirectoryCopy(subdir.FullName, tempPath, copySubDirs);
        }
    }
}

在上面的示例中,DirectoryCopy方法是递归函数,它会复制源文件夹和其所有内容到目标文件夹。 DirectoryCopy方法还使用copySubDirs参数来指定是否要复制子文件夹。

更新于:1个月前
赞一波!2

文章评论

评论问答