XNA StreamReader / Writer, как читать / писать в разных строках? - PullRequest
2 голосов
/ 12 мая 2011

Я пытаюсь написать простой .txt через StreamWriter.Я хочу, чтобы это выглядело так:

  • 12
  • 26
  • 100

Итак, простые числа.Но как мне сказать Reader / Writer, в какую строку писать или читать.

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

Здесь говорится, что ReadLine() читает строку текущего потока.Но откуда мне знать, какая это строка?Или это всегда первый?

Я хочу прочитать цифры, изменить их, а затем записать обратно.

Есть предложения?

Заранее спасибо!

Ответы [ 2 ]

5 голосов
/ 12 мая 2011

Считыватель концептуально является однонаправленной вещью, от начала (или, точнее, текущей позиции в потоке) до конца.

Каждый раз, когда вы читаете строку, он просто буферизует данные до тех пор, поканаходит новую строку;на самом деле он не имеет понятия текущей строки (или перемещения между строками).

Пока файл не массивный, вы должны нормально читать весь файл, работая над строкой (илистроковый массив), после чего сохраняется весь файл;вставка / удаление текстового содержимого в противном случае является нетривиальным (особенно если учесть тайны кодировок).

File.ReadAllLines и File.WriteAllLines могут быть проще в вашем сценарии.

0 голосов
/ 12 мая 2011

Я думаю, что единственный способ - это прочитать все строки в массиве (или любой другой структуре данных, т.е. в списке), изменить и записать ее обратно в файл.Может быть, XML будет лучше для ваших целей?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...