FileInfo无法找到指定的文件异常

时间:2017-08-31 17:28:23

标签: c# c#-4.0

我有一个不寻常的问题。我的问题是我有一个包含文件名的文件路径集合。当代码循环遍历集合时,它接受字符串并创建FileInfo对象。使用此对象,然后使用MoveTo方法将文件移动到另一个位置。

这一切都很有效,直到它到达一个长度为零的文件并说它找不到文件。如果我获取此文件并在不同的应用程序中创建一个FileInfo对象,无论大小如何,它都可以工作。有谁知道造成这种情况的原因以及如何解决这个问题?下面的相关代码段

IList<string> files = new List<string >();
files.add(file1);
files.add(file2);

foreach (string filepath in files) 
{
    FileInfo file = new FileInfo (filepath);
    string newlocation = Path.Combine(dest, file.name);

    file.MoveTo (newlocation); //exception thrown here on zero length 
}

2 个答案:

答案 0 :(得分:1)

尝试在file.Refresh()之前致电file.MoveTo(...)

在此页面中阅读备注 https://msdn.microsoft.com/en-us/library/system.io.fileinfo.exists.aspx

答案 1 :(得分:0)

你需要使用

       System.IO.File.Move(Sourcefile, DestinationFile);

更多详情:https://msdn.microsoft.com/en-us/library/system.io.file.move(v=vs.110).aspx