2

我正在尝试通过 StreamWriter 编写一个简单的 .txt。我希望它看起来像这样:

  • 12
  • 26
  • 100

这么简单的数字。但是我如何告诉读写器在哪一行写入或读取。

http://msdn.microsoft.com/en-us/library/system.io.streamreader.aspx

这里它说ReadLine()读取当前流的一行。但是我怎么知道它是哪条线。还是总是第一个?

我想读取数字,修改它们,然后将它们写回。

有什么建议么?

提前致谢!

4

2 回答 2

5

阅读器在概念上是一个单向的东西,从开始(或更准确地说,流中的当前位置)到结束。

每次读取一行时,它只是缓冲数据,直到找到新行;它实际上并没有当前行(或行间移动)的概念。

只要文件不是很大,您应该可以读取整个文件,处理字符串(或字符串数​​组),然后保存整个文件;插入/删除文本内容并非易事(尤其是当您考虑编码的奥秘时)。

File.ReadAllLines 和 File.WriteAllLines 在您的场景中可能更容易。

于 2011-05-12T18:21:56.953 回答
0

我认为唯一的方法是读取数组中的所有行(或任何其他数据结构,即列表),修改并将其写回文件。也许 xml 会更好地满足您的目的?

于 2011-05-12T18:19:29.747 回答