替换文本文件中文本的最佳方法是什么?
另外,我想我会遇到使用StreamReader / StreamWriter的问题,因为你无法读取和写入同一个文件?
由于
答案 0 :(得分:7)
您可以为阅读和撰写打开一个流:
FileStream fileStream = new FileStream(@"c:\myFile.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None);
var streamWriter = new StreamWriter(fileStream);
var streamReader = new StreamReader(fileStream);
...
fileStream .Close();
但最简单的方法仍然是阅读所有文件,编辑文本并将其写回文件:
var text = File.ReadAllText(@"c:\myFile.txt");
...
File.WriteAllText(@"c:\myFile.tx", text);
答案 1 :(得分:0)
根据您的文件格式,您还可以逐行读取文件(使用File.ReadLines)并为每行执行文本替换。
您还可以参考此答案,了解基于流的变体,如果您的文件很大,这是首选方法。