首页 >后端开发 >C++ >如何在C#中高效复制目录内容?

如何在C#中高效复制目录内容?

Linda Hamilton
Linda Hamilton原创
2025-01-26 19:31:10157浏览

How to Efficiently Copy Directory Contents in C#?

C#高效复制目录内容

C#的System.IO库在复制整个目录方面似乎显得力不从心,因为它缺少像CopyDirectory这样的直接方法。虽然VB中存在相应的简便方法,但这并非理想的解决方案。本文提供一种更高效的递归方法。

解决方案:

CopyFilesRecursively方法采用递归方式创建目录并复制文件。它遍历源目录,在目标位置创建相应的目录。然后,它复制每个文件,并用相同名称的文件替换任何现有文件。

<code class="language-csharp">private static void CopyFilesRecursively(string sourcePath, string targetPath)
{
    // 创建必要的目录
    foreach (string dirPath in Directory.GetDirectories(sourcePath, "*", SearchOption.AllDirectories))
    {
        Directory.CreateDirectory(dirPath.Replace(sourcePath, targetPath));
    }

    // 复制文件
    foreach (string newPath in Directory.GetFiles(sourcePath, "*.*", SearchOption.AllDirectories))
    {
        File.Copy(newPath, newPath.Replace(sourcePath, targetPath), true);
    }
}</code>

以上是如何在C#中高效复制目录内容?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn