这个TextWriter方法有什么不好的?

时间:2010-04-09 17:05:06

标签: c#

alt text http://img179.imageshack.us/img179/7827/textwriter.jpg

tf.txt文件有0个字节,当我在循环中多次调用此方法时,我得到:

该进程无法访问“”,因为它正由另一个进程使用

2 个答案:

答案 0 :(得分:6)

是的,你没有关闭TextWriter。因此文件句柄保持打开状态,因此您无法创建另一个写入同一文件的句柄。

使用using声明:

// Consider using File.CreateText instead, btw
using (TextWriter writer = new StreamWriter(...))
{
    ...
}

我很惊讶你的文件是空的,不可否认......它是在你第一次调用它时引发异常,例如在GetTerms()?这可以解释它。顺便说一句,您可能还需要IndexReader的使用声明 - 我们无法说出来。

答案 1 :(得分:0)

为什么tw.Close被注释掉了?这可能是“正在被另一个进程使用”的原因,因为文件将保持打开状态直到关闭。