C# 另一个程序正在使用C文件

C# 另一个程序正在使用C文件,c#,file-io,C#,File Io,这使文件非常完美 System.IO.File.CreateText(@"C:\\ProgramData\\Password Manager\\pwd.dat"); 但是这行有个错误 进程无法访问文件“C:\ProgramData\Password Manager\pwd.dat”,因为其他进程正在使用该文件 是否有办法在写入文件之前关闭该文件?您不需要使用CreateText。只需调用WriteAllines,即可为您创建文件。此时CreateText返回的流保留在它创建的文件上,这就是引发

这使文件非常完美

System.IO.File.CreateText(@"C:\\ProgramData\\Password Manager\\pwd.dat");
但是这行有个错误

进程无法访问文件“C:\ProgramData\Password Manager\pwd.dat”,因为其他进程正在使用该文件


是否有办法在写入文件之前关闭该文件?

您不需要使用CreateText。只需调用WriteAllines,即可为您创建文件。此时CreateText返回的流保留在它创建的文件上,这就是引发错误的原因。

file.CreateText不仅创建文件,而且打开它并返回一个流来写入文件。 您随后的呼叫发现该文件被您自己阻止

试一试

或者干脆

StreamWriter sw = File.CreateText(@"C:\\ProgramData\\Password Manager\\pwd.dat");
sw.Close();
sw.Dispose();
会小心地关闭和处置该文件


但是,查看代码完全没有必要,因为如果文件不存在,就会创建该文件

您是否关闭和/或处置了测试结果?为什么要先调用CreateText?被记录为创建一个新文件…只是修复了它。因为我没有将文件设置为变量。我没有选择关闭它。只是把它变成一个变量,关闭它,然后它就开始工作了。!谢谢你:工作完美
StreamWriter sw = File.CreateText(@"C:\\ProgramData\\Password Manager\\pwd.dat");
sw.Close();
sw.Dispose();
using(File.CreateText(@"C:\\ProgramData\\Password Manager\\pwd.dat"))  {}