我正在尝试使用以下代码将文件从路径复制到另一个:
File.Copy(oldPath, newPath);.
newPath表示路径和文件名,如C:\txt.txt
oldPath表示路径和文件名,如d:\d.txt
我得到以下例外:
C:\ txt.txt从其他进程使用
为什么会出现此问题?
答案 0 :(得分:2)
可能发生八种可能的异常:UnauthorizedAccessException,ArgumentException,ArgumentNullException,PathTooLongException,DirectoryNotFoundException,FileNotFoundException,FileNotFoundException,IOException或NotSupportedException(请参阅http://msdn.microsoft.com/en-us/library/c6cfw35a.aspx的MSDN文档以查找这些异常的详细信息)。
您表示该文件已被创建该文件的进程锁定。这应该可以解决你的问题:
using (FileStream fs = File.Create("c:\\michal.txt"))
{
}
File.Copy("c:\\michal.txt", "c:\\michal_new.txt");
File.Delete("c:\\michal.txt");
File.Delete("c:\\michal_new.txt");
答案 1 :(得分:1)
通常原因是因为Windows中的某个程序正在使用您要复制的文件 - 在我的情况下,Visual Studio cs使用的文件是在调试文件中...