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