FileInfo类的CopyTo方法抛出IOException
该进程无法访问文件“C:\ Data \ Test.XML”,因为它正由另一个进程使用。
关于为什么会发生这种情况的任何想法?我知道复制文件只需要读访问权限。理想情况下,即使文件被写保护或被其他程序打开,CopyTo也应该没有问题。
FileInfo copyFile = null;
//currentFile.FileInformation is of type FileInfo which is referring to the file for which a copy is being created. In this case it is C:\Data\Test.XML
System.IO.FileInfo file = new FileInfo(currentFile.FileInformation.FullName);
// Constructing name for the temporary copy of Test.XML
string newName = "Temp Copy of " + currentFile.FileInformation.Name;
//This is where I get the exception. The CopyTo fails...
copyFile = file.CopyTo(System.IO.Path.Combine(currentFile.FileInformation.DirectoryName, newName), true);
fs = System.IO.File.Open(copyFile.FullName, FileMode.Open);
还需要注意一些要点:
如果我能为您提供更多详细信息,请与我们联系
提前致谢
答案 0 :(得分:2)
答案 1 :(得分:0)
如果您使用的是Windows,请尝试使用Process Explorer来确定使用您要复制的文件的进程。
答案 2 :(得分:0)
另一个进程可能在打开文件时指定了FILE_SHARE_READ
模式,这会阻止您阅读它。
您可以使用Process Explorer来查找该过程。