c# 封装的文件夹操作类之复制文件夹
2017-01-16 15:56
357 查看
c# 封装的文件夹操作类之复制文件夹
一.复制文件夹原理:
1.递归遍历文件夹
2.复制文件
二.FolderHelper.cs
一.复制文件夹原理:
1.递归遍历文件夹
2.复制文件
二.FolderHelper.cs
/// <summary> /// 文件夹操作类 /// </summary> public static class FolderHelper { /// <summary> /// 复制文件夹 /// </summary> /// <param name="sourceFolderName">源文件夹目录</param> /// <param name="destFolderName">目标文件夹目录</param> public static void Copy(string sourceFolderName, string destFolderName) { Copy(sourceFolderName, destFolderName, false); } /// <summary> /// 复制文件夹 /// </summary> /// <param name="sourceFolderName">源文件夹目录</param> /// <param name="destFolderName">目标文件夹目录</param> /// <param name="overwrite">允许覆盖文件</param> public static void Copy(string sourceFolderName, string destFolderName, bool overwrite) { var sourceFilesPath = Directory.GetFileSystemEntries(sourceFolderName); for (int i = 0; i < sourceFilesPath.Length; i++) { var sourceFilePath = sourceFilesPath[i]; var directoryName = Path.GetDirectoryName(sourceFilePath); var forlders = directoryName.Split('\\'); var lastDirectory = forlders[forlders.Length - 1]; var dest = Path.Combine(destFolderName, lastDirectory); if (File.Exists(sourceFilePath)) { var sourceFileName = Path.GetFileName(sourceFilePath); if (!Directory.Exists(dest)) { Directory.CreateDirectory(dest); } File.Copy(sourceFilePath, Path.Combine(dest, sourceFileName), overwrite); } else { Copy(sourceFilePath, dest, overwrite); } } } }
相关文章推荐
- Asp.net(c#)常用文件操作类封装 移动 复制 删除 上传 下载等
- [No0000DC]C# FileHelper 本地文件、文件夹操作类封装FileHelper
- Asp.net(c#)常用文件操作类封装 移动 复制 删除 上传 下载等
- Asp.net(c#)常用文件操作类封装 移动 复制 删除 上传 下载等
- C#文件操作源码 递归复制一个目录 递归删除文件 和 文件夹
- C#文件操作源码 递归复制一个目录 递归删除文件 和 文件夹
- C#文件夹复制的类
- c#实现复制全部文件夹及文件的代码
- C#复制整个文件夹
- C# 复制文件夹的操作
- c#复制和删除文件夹
- C# 2005中复制文件夹
- C#实现本地复制文件或者文件夹建立副本取名功能
- c#实现将一个文件夹中的所有文件复制到另一个文件夹,并在新文件夹中创建一个txt文件记录copy的文件综述以及文件名称
- WinForm(C#)复制文件夹
- c# 复制文件夹及其文件
- C#.NET实现文件夹的复制
- 文件夹复制删除 C#
- CodeProject - 在C#使用SHGetFileInfo获取(管理)文件或者文件夹图标(C#封装Win32函数的一个例子)
- c# 复制文件到目标文件夹