我正在尝试通过StreamWriter编写一个简单的.txt文件。我希望它看起来像这样:
这么简单的数字。但是,如何告诉读者/作者写入或读取哪一行。
http://msdn.microsoft.com/en-us/library/system.io.streamreader.aspx
这里说ReadLine()
读取当前流的一行。但我怎么知道它是哪条线。或者它总是第一个?
我想读取数字,修改它们然后再写回来。
有什么建议吗?
提前致谢!
答案 0 :(得分:5)
读者从概念上讲是一种单向的东西,从一开始(或更准确地说,就是流中的当前位置)到最后。
每次读一行时,只需缓冲数据直到找到新行;它实际上没有当前行的概念(或在行之间移动)。
只要文件不是很大,你应该可以读取整个文件,处理字符串(或字符串数组),然后保存整个文件;插入/删除文本内容在其他方面并不重要(特别是当你考虑编码的奥秘时)。
在您的方案中,File.ReadAllLines和File.WriteAllLines可能更容易。
答案 1 :(得分:0)
我认为唯一的方法是读取数组中的所有行(或任何其他数据结构,即列表),修改并将其写回文件。 也许xml会更好用于你的目的?