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中文网其他相关文章!