我正在创建源和文件列表目标位置中的目标目录,该要求基于这两个文件的差异,仅复制上次迭代中的新文件。
对于第一次迭代复制工作,下一次迭代创建一个空白差异[差异]文件被创建,为了处理这个我添加了条件,我检查文件的长度并再次复制它们。但if条件不按行为工作,长度为零会转到else语句并抛出错误并显示空白文件名:
Could not find a part of the path 'C:\interswitch\source\'.
以下是代码:
string path = Path.Combine(target_dir, "Diff.txt");
if (new FileInfo(path).Length == 0)
{
foreach (FileInfo fi in sourceinfo.GetFiles())
{
fi.CopyTo(Path.Combine(targetinfo.ToString(), fi.Name), true);
}
}
else
foreach (string file in File.ReadLines(path))
{
{
string sourceFile = System.IO.Path.Combine(source_dir, file);
string destFile = System.IO.Path.Combine(target_dir, file);
System.IO.File.Copy(sourceFile, destFile, true);
}
}
答案 0 :(得分:0)
if (new FileInfo(path).Length == 0)
显然不会产生0,你必须解决这个问题