2010-04-09 83 views
1

alt text http://img179.imageshack.us/img179/7827/textwriter.jpg這個TextWriter方法有什麼不好?

的tf.txt文件具有0字節,在循環中調用這個方法好幾次,當我得到:

,因爲它正在使用由另一個進程的進程無法訪問「」

+0

對不起,請再試一次。太難閱讀了。 – RedFilter 2010-04-09 17:06:48

+0

小圖片的代碼不清晰。 – 2010-04-09 17:07:28

+0

無法讀取代碼,圖片很小。 請附上代碼文本,並使用「代碼示例」cutton使它看起來活潑。這樣,我們可以複製代碼並自己測試它......並且,看到代碼有點強制性。 – 2010-04-09 17:08:08

回答

6

是的,你沒有關閉TextWriter。因此文件句柄保持打開,所以你不能創建另一個寫入同一個文件。

使用using聲明:

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

我很驚訝,你的文件是空的,無可否認......沒有它拋出一個異常,你第一次把它稱爲,例如在GetTerms()?這將解釋它。順便說一句,您可能還需要使用IndexReader的使用聲明 - 我們無法確定。

0

tw.Close爲什麼被註釋掉?這可能是「正在被另一個進程使用」的原因,因爲該文件將保持打開狀態直到關閉。