XNA StreamReader / Writer如何在不同的行中读/写?

时间:2011-05-12 18:13:05

标签: c# xna newline streamreader streamwriter

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

  • 12
  • 26
  • 100

这么简单的数字。但是,如何告诉读者/作者写入或读取哪一行。

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

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

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

有什么建议吗?

提前致谢!

2 个答案:

答案 0 :(得分:5)

读者从概念上讲是一种单向的东西,从一开始(或更准确地说,就是流中的当前位置)到最后。

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

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

在您的方案中,

File.ReadAllLines和File.WriteAllLines可能更容易。

答案 1 :(得分:0)

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