首页 > 代码库 > C# 实现文件或目录复制到指定目录
C# 实现文件或目录复制到指定目录
public void CopyFilesToDirKeepSrcDirName(string srcPath, string destDir) { if (Directory.Exists(srcPath)) { DirectoryInfo srcDirectory = new DirectoryInfo(srcPath); CopyDirectory(srcPath, destDir + @"\" + srcDirectory.Name); } else { CopyFile(srcPath, destDir); } } public void CopyFilesToDir(string srcPath, string destDir) { if(Directory.Exists(srcPath)) { CopyDirectory(srcPath, destDir); } else { CopyFile(srcPath, destDir); } } private void CopyDirectory(string srcDir, string destDir) { DirectoryInfo srcDirectory = new DirectoryInfo(srcDir); DirectoryInfo destDirectory = new DirectoryInfo(destDir); if (destDirectory.FullName.StartsWith(srcDirectory.FullName, StringComparison.CurrentCultureIgnoreCase)) { throw new Exception("cannot copy parent to child directory."); } if (!srcDirectory.Exists) { return; } if (!destDirectory.Exists) { destDirectory.Create(); } FileInfo[] files = srcDirectory.GetFiles(); for (int i = 0; i < files.Length; i++) { CopyFile(files[i].FullName, destDirectory.FullName); } DirectoryInfo[] dirs = srcDirectory.GetDirectories(); for (int j = 0; j < dirs.Length; j++) { CopyDirectory(dirs[j].FullName, destDirectory.FullName + @"\" + dirs[j].Name); } } private void CopyFile(string srcFile, string destDir) { DirectoryInfo destDirectory = new DirectoryInfo(destDir); string fileName = Path.GetFileName(srcFile); if (!File.Exists(srcFile)) { return; } if (!destDirectory.Exists) { destDirectory.Create(); } File.Copy(srcFile, destDirectory.FullName + @"\" + fileName, true); }
C# 实现文件或目录复制到指定目录
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。