码迷,mamicode.com
首页 > Windows程序 > 详细

c# 封装的文件夹操作类之复制文件夹

时间:2017-01-16 16:06:24      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:div   覆盖   creat   director   rect   for   getdir   strong   public   

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     }

 

c# 封装的文件夹操作类之复制文件夹

标签:div   覆盖   creat   director   rect   for   getdir   strong   public   

原文地址:http://www.cnblogs.com/zlp520/p/6289974.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!