我设法为我的Windows窗体程序提供了一个函数,它将文件从一个目录复制到另一个目录,并且只要我的程序在正确的目录中(该部分确实存在),就不需要确切的目录路径重要)。
我需要升级我在程序中使用的CopyFile函数,以便它再做两件事:
无论如何,那是我的代码:
private static void CopyFiles(string source, string destiny, string pattern = "*.*")
{
DirectoryInfo dir1 = new DirectoryInfo(source);
DirectoryInfo dir2 = new DirectoryInfo(destiny);
if (!dir1.Exists)
throw new ArgumentException(source);
else
{
if (!dir2.Exists)
dir2.Create();
FileInfo[] files = dir1.GetFiles(pattern);
foreach (var item in files)
{
item.CopyTo(Path.Combine(dir2.FullName, item.Name));
}
}
}
static void Main(string[] args)
{
CopyFiles(@".\FolderI\FolderII\", @".\FolderA\FolderB","a.*");
}
答案 0 :(得分:2)
CopyTo
有一个覆盖,它接受一个布尔表示是否覆盖文件
item.CopyTo(Path.Combine(dir2.FullName, item.Name), True);
并将方法的返回类型更改为布尔值,可以说明它是否成功
private static bool CopyFiles(string source, string destiny, string pattern = "*.*")
... return True
如果有任何错误(提示:Try-Catch)或其他任何错误,您需要更新代码以返回false