基本上,我想创建一个文件(如果不存在),然后向其中写入消息。
if (!File.Exists(filePath + fileName))
File.Create(filePath + fileName);
StreamWriter sr = new StreamWriter(filePath + fileName,false);
如何处理这个错误?
最佳答案
File.Create
打开一个FileStream
(http://msdn.microsoft.com/en-us/library/d62kzs03.aspx)。
如您未处理的文件一样,如果从其他句柄(即其他FileStream
或整个StreamWriter
)执行文件操作,则文件将保持锁定状态,并且由于该情况,对该文件的后续访问将失败。
这段代码演示了如何使用IDisposable
这样的FileStream
对象:
if (!File.Exists(filePath + fileName))
{
File.Create(filePath + fileName).Dispose();
using(StreamWriter sr = new StreamWriter(filePath + fileName,false))
{
}
}
关于c# - 使用StreamWriter时,进程无法访问文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14775547/