2013-07-24 81 views
-1

我必須在asp.net中更改文本文件的特定行。 我可以更改/替換特定行中的文本嗎? 我在文本文件中使用了替換功能,但它正在替換整個文件中的文本。 我想只替換由我指定的一行。在asp.net中編輯特定的文本文件行?

等待答覆..

在此先感謝..

+0

需要有關您所嘗試的更多信息,確定要更改哪條生產線的編程規則是什麼。此外,StackOverflow可以幫助您解決問題,而不是爲您編寫代碼;儘管如果你表明你已經試圖首先解決問題,那麼有些人會這樣做。 –

+0

是的,您可以使用StreamReader.ReadLine()逐行讀取文件,然後在該行中搜索需要替換的文本。 – andrewb

回答

6

文件系統通常不允許你不是直接覆蓋逐字節文件中編輯其他如果您的文本文件對每一行都使用相同的字節數,那麼您可以非常有效地替換一行文本 - 但這是目前比較罕見的情況。

它更可能是你需要採取的其中一個選項:

  • 加載整個文件到使用File.ReadAllLines內存,更改相關行,然後用File.WriteAllLines再次寫出來。這在內存方面效率很低,但代碼非常簡單。如果你的文件很小,這是一個不錯的選擇。
  • 打開輸入文件和一個新的輸出文件。從輸入中一次讀取一行文本,並將其複製到輸出或寫入不同的行。然後關閉這兩個文件,刪除輸入文件並重命名輸出文件。這隻需要一次在內存中的一行文本,但它相當繁瑣。

第二個選項還有另一個好處 - 你可以圍繞洗牌文件(使用大量的重命名步驟),因此在沒有點你曾經有丟失輸入文件的可能性,除非輸出文件被稱爲在完整和正確的地方。儘管如此,這更加複雜。

相關問題