做下对文件复制操作相关的笔记:
/// /// 文件帮助类/// public class FileHelper {/// /// 复制一个目录下所有文件到一个新目录下/// /// 原目录/// 新目录生成方法/// 是否复制子文件夹内的文件/// 可选:是否覆盖(默认覆盖)public static void CopyFileList(string copyPath, Func<string, string> newFilePathFunc, bool isCopySubFolder = true, bool isOverwrite = true) {//复制当前目录下所有文件到新目录中List<string> fileList = Directory.GetFiles(copyPath).ToList();foreach (var filePath in fileList) {string newFilePath = newFilePathFunc(filePath);string newFileDirectory = newFilePath.Substring(0, newFilePath.LastIndexOf('\\') + 1);if (!Directory.Exists(newFileDirectory)) { Directory.CreateDirectory(newFileDirectory); }if (isOverwrite || !File.Exists(newFilePath)) { File.Copy(filePath, newFilePath, isOverwrite); } }//复制子目录下所有文件到新目录中if (isCopySubFolder) { List<string> subFolderList = Directory.GetDirectories(copyPath).ToList();foreach (var subFolder in subFolderList) { FileHelper.CopyFileList(subFolder, newFilePathFunc, isCopySubFolder, isOverwrite); } } }/// /// 复制一组文件到一个新目录下/// /// 文件列表/// 新目录生成方法/// 可选:是否覆盖(默认覆盖)public static void CopyFileList(List<string> filePathList, Func<string, string> newFilePathFunc, bool isOverwrite = true) {//将上月保存未改变多币种数据复制到本月中(本月已存在多币种数据不覆盖)foreach (var filePath in filePathList) {string newFilePath = newFilePathFunc(filePath);string newFileDirectory = newFilePath.Substring(0, newFilePath.LastIndexOf('\\') + 1);if (!Directory.Exists(newFileDirectory)) { Directory.CreateDirectory(newFileDirectory); }if (isOverwrite || !File.Exists(newFilePath)) { File.Copy(filePath, newFilePath, isOverwrite); } } } }
Copyright © 2004-2024 Ynicp.com 版权所有 法律顾问:建纬(昆明)律师事务所 昆明市网翼通科技有限公司 滇ICP备08002592号-4