2013-09-24 23 views
0

我正在讀一文本文件,並保存在我的形式在文本框中讀取數據。現在我希望如果用戶對文本框中的數據進行任何更改,它應該反映在文本文件中。我嘗試了以下的事情,但問題是用單行替換整個文件。如何替換一個文本文件中的單詞,而不會覆蓋整個文件

switch (match.Groups["key"].Value) 
         { 
          case "type": if (textBox1.Text != match.Groups["value"].Value) 
           { File.WriteAllText(path.ToString(),Regex.Replace(line, "\"" + match.Groups["value"].Value + "\"", "\"" + textBox1.Text + "\"")); } 
           break; 
         } 

我也嘗試過使用file.appendalltext,但它也不起作用。

回答

4

我覺得你可能會這樣做了錯誤的方式,如果你已經在處理文件的內容到你的應用程序,爲什麼不寫這需要在內存中的價值觀和保存再次寫入文件進行的方法。這樣,您可以處理多個更改,並且不必擔心找到文件要更新的特定點。

顯然有AY是你這樣做,如果該文件的內容,由於過大的內存來容納,例如其他原因,但你的問題不給那麼多的細節。

+0

@richard .......我的文件是大到足以被保存在內存中,我只希望替換幾個單詞而已...... – Kratos

+0

據我所知,您可以重寫當處理文件時,整個文本或追加到它的末尾。所以,即使你只是想替換幾句話,我想你也會做一些類似理查德建議的事情。 – TDull

相關問題