针对文件的处理会出现该进程无法访问此文件,细查原因文件处理没有及时关闭流,这种情况会导致程文件被占用。
看以下代码的问题
var filePath = "word.txt";
if (!File.Exists(filePath))
{
File.Create(filePath);
}
var words = "";
using (var r = new StreamReader(filePath))
{
words = r.ReadToEnd();
Console.WriteLine(words);
}
using (var w = new StreamWriter(filePath))
{
w.WriteLine("some test words");
}
内容不多,确实有问题,关键是针对的 File.Create(filePath);这行代码,虽然文件是创建了,但是创建文件返回的是FileStream,这个类型继承于stream,所以问题就在这了。创建完成后需要做的事情是就它关闭 close(),否则一方面会造成内存泄露,同时也会如果标题一样的结果