c# 封裝的文件夾操作類之復制文件夾


c#  封裝的文件夾操作類之復制文件夾

一.復制文件夾原理:

1.遞歸遍歷文件夾

2.復制文件

二.FolderHelper.cs

 1  /// <summary>
 2     /// 文件夾操作類
 3     /// </summary>
 4     public static class FolderHelper
 5     {
 6         /// <summary>
 7         /// 復制文件夾
 8         /// </summary>
 9         /// <param name="sourceFolderName">源文件夾目錄</param>
10         /// <param name="destFolderName">目標文件夾目錄</param>
11         public static void Copy(string sourceFolderName, string destFolderName)
12         {
13             Copy(sourceFolderName, destFolderName, false);
14         }
15 
16         /// <summary>
17         /// 復制文件夾
18         /// </summary>
19         /// <param name="sourceFolderName">源文件夾目錄</param>
20         /// <param name="destFolderName">目標文件夾目錄</param>
21         /// <param name="overwrite">允許覆蓋文件</param>
22         public static void Copy(string sourceFolderName, string destFolderName, bool overwrite)
23         {
24             var sourceFilesPath = Directory.GetFileSystemEntries(sourceFolderName);
25 
26             for (int i = 0; i < sourceFilesPath.Length; i++)
27             {
28                 var sourceFilePath = sourceFilesPath[i];
29                 var directoryName = Path.GetDirectoryName(sourceFilePath);
30                 var forlders = directoryName.Split('\\');
31                 var lastDirectory = forlders[forlders.Length - 1];
32                 var dest = Path.Combine(destFolderName, lastDirectory);
33 
34                 if (File.Exists(sourceFilePath))
35                 {
36                     var sourceFileName = Path.GetFileName(sourceFilePath);
37                     if (!Directory.Exists(dest))
38                     {
39                         Directory.CreateDirectory(dest);
40                     }
41                     File.Copy(sourceFilePath, Path.Combine(dest, sourceFileName), overwrite);
42                 }
43                 else
44                 {
45                     Copy(sourceFilePath, dest, overwrite);
46                 }
47             }
48         }
49     }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM