我用
制作了一个简单的程序StreamReader sr = new StreamReader(File.OpenRead(dlg.FileName));
txtBox1.Text = sr.ReadToEnd();
忘了放
sr.Dispose();
现在当我尝试运行程序并打开一个文件时,我得到IOException是未处理的错误消息,上面写着“进程无法访问该文件,因为它正被另一个进程使用”。所以我的问题是,有谁知道它使用的是什么过程?我希望能够在taskmanager中找到它并结束它,而不是编写一堆异常处理代码,因为这只是我正在练习的程序。
我试图打开的文件是MyDocuments中的txt文件。
答案 0 :(得分:2)
正在使用该文件的进程是打开它的进程,如果从Visual Studio运行它,很可能是.vshost.exe。
为了避免'遗忘'将来使用using
语句处理对象,以实现IDisposable
(StreamReader
所做的事情)。您的代码看起来像
using(StreamReader sr = new StreamReader(File.OpenRead(dlg.FileName)))
{
txtBox1.Text = sr.ReadToEnd();
}
答案 1 :(得分:0)
当我使用流读取器查找文件中文本的结尾时,我得到了同样的错误,因此我可以使用writeline方法在文件中的文本后面添加新文本。无论如何,我的文档在开发时都存在可访问性问题。尝试将.txt放入其他位置也许/ temp文件夹?