2012-05-17 15 views
0

我目前正試圖找到最有效的方式來閱讀文本並重新寫入文本文件。當我這樣做的時候(用一個223 KB的文件),我得到了一個224KB文件的結果,並在原始文件中附加了一些額外的句子。 (這些少數額外的句子似乎是從文件中間抓取的)。我似乎無法找到問題所在。下面是我使用的代碼:額外的文本被寫入文件c#

 while(...) 
     { 
      writeStream.Write(array, 0, array.Length); 

      if (read == 0) 
       break; 
     }   
+1

不相關,但'.Close()'調用'.Flush()'所以你可以保存自己的一些代碼。 –

+1

@test你還沒有看到答案嗎?你總是寫'array.Length'字節,但在最後一次迭代時,只有'array'的一部分被真實數據填充。所以你應該只寫入你讀的字節(count是在'read'變量中) –

+0

我還必須刷新'array'緩衝區作爲我的while循環的最後一個操作,因爲在這個問題之後,我不得不修改我讀的和我無法使用'read'作爲第三個參數:/ – test

回答

2

的「寫」方法的第三個參數是不正確。替換它與讀取,它應該工作

+0

謝謝,這似乎是問題! – test

8

它應該是:

writeStream.Write(array, 0, read); 
+2

+1:這樣一個常見的錯誤; p – leppie

+0

謝謝我會立即嘗試這個 – test