到目前為止我的代碼StreamReader reading = File.OpenText("test.txt");string str;while ((str = reading.ReadLine())!=null){ if (str.Contains("some text")) { StreamWriter write = new StreamWriter("test.txt"); }}我知道如何查找文本,但是我不知道如何用自己的文本替換文件中的文本。
3 回答

絕地?zé)o雙
TA貢獻1946條經(jīng)驗 獲得超4個贊
您需要將讀取的所有行都寫入輸出文件,即使您不進行更改也是如此。
就像是:
using (var input = File.OpenText("input.txt"))
using (var output = new StreamWriter("output.txt")) {
string line;
while (null != (line = input.ReadLine())) {
// optionally modify line.
output.WriteLine(line);
}
}
如果要就地執(zhí)行此操作,那么最簡單的方法是使用臨時輸出文件,最后將輸入文件替換為輸出。
File.Delete("input.txt");
File.Move("output.txt", "input.txt");
(很難在文本文件的中間執(zhí)行更新操作,因為考慮到大多數(shù)編碼都是可變寬度的,因此很難總是用相同的長度來進行替換。)
編輯:最好不要使用兩次文件操作來替換原始文件File.Replace("input.txt", "output.txt", null)。(請參閱MSDN。)
- 3 回答
- 0 關(guān)注
- 1278 瀏覽
添加回答
舉報
0/150
提交
取消