C# 如何避免;由另一个过程使用;在C中使用File.Copy时#

C# 如何避免;由另一个过程使用;在C中使用File.Copy时#,c#,process,copy,C#,Process,Copy,我正在尝试使用以下代码将文件从路径复制到另一个路径: File.Copy(oldPath, newPath);. newPath表示路径和文件名,如C:\txt.txt oldPath表示路径和文件名,如d:\d.txt 我得到以下例外情况: C:\txt.txt从另一个进程使用 为什么会出现此问题?可能会发生八种异常:UnauthorizedAccessException、ArgumentException、ArgumentNullException、PathTooLongExceptio

我正在尝试使用以下代码将文件从路径复制到另一个路径:

 File.Copy(oldPath, newPath);.
newPath表示路径和文件名,如
C:\txt.txt

oldPath表示路径和文件名,如
d:\d.txt

我得到以下例外情况:

C:\txt.txt从另一个进程使用


为什么会出现此问题?

可能会发生八种异常:UnauthorizedAccessException、ArgumentException、ArgumentNullException、PathTooLongException、DirectoryNotFoundException、FileNotFoundException、FileNotFoundException、IOException或NotSupportedException(有关这些例外情况的详细信息,请参阅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");

原因通常是Windows中的一个程序正在使用您试图复制的文件--在我的例子中,Visual Studio cs使用的文件位于调试文件中…

引发了什么异常,以及引发异常时oldPath和newPath中有什么?“由另一个进程使用”-听起来你需要一个文件锁?是的,谢谢@ChristofReliasson..你能投票表决我的问题吗?发生了未处理的异常进程无法访问该文件“C:\…\n.jpg'因为它正被另一个进程使用Visual Studio锁定我的文件,因为我在尝试删除或复制文件之前在同一进程中使用它在newpath中添加文件..所以我的问题可能是如何关闭由File.copy创建的文件(oldpath,newpath);station?谢谢Michal,但编译器引发了未处理的异常。进程无法访问文件“c:\\Michal\u new.txt”,因为另一个进程正在使用该文件