Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > [C#] Построчная запись и чтение с файла


Автор: diego11 16.12.2012, 20:22
Здравствуйте.  Нужно организовать построчно чтение и запись в текстовый файл. Файл будет отвечать за настройки некой игры, а каждая строчка в нем за отдельный параметр. Пример:

Player 1
Player 2
place1
yes

Когда в программе открывается окно с настройками, вся информация будет подгружаться из файла построчно. Например имя первого игрока будет считываться с первой строки, второго с второй и т. д. С записью все тоже самое, при смене одного параметра меняется значение определенной строки, а не всего файла. 

В данный момент я записываю каждый параметр с отдельный txt файл. Пример:


Код

//запись
File.WriteAllText("settings/player1.txt", "Player1", Encoding.Default);

//чтение
StreamReader player1 = new StreamReader("settings/player1.txt");
textBox1.Text = player1.ReadToEnd();
player1.Close();


Буду рад любой помощи.

Автор: KelTron 17.12.2012, 07:49
Думаю не стоит заморачиваться с записью только определённой строки, ибо файл настроек небольшой, проще сделать так:

Код

string settingsFile = ...

// Считали строки в массив
string[] settings = File.ReadAllLines(settingsFile);

// Поменяли что надо
settings[0] = "xxx";
settings[1] = "yyy";
...

// Сохранили
File.WriteAllLines(settingsFile, settings);


Автор: SKrivosein 17.12.2012, 20:27
Почему бы не решать эту задачу созданием конфигурационного файла XML такого типа
Код

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <player number="1">
    <name>Вася</name>
    <place>1</place>
    <yes>Да</yes>
     .......
  </player>
  <player number="2">
    <name>Петя</name>
    <place>2</place>
    <yes>Нет</yes>
     .......
  </player>
</configuration>

A потом не использовать стандартные средства .NET например http://www.dotnetcurry.com/ShowArticle.aspx?ID=564?

Автор: uwannadie 23.1.2013, 16:45
либо еще проще - использовать связку JSON+библиотеку JSON.Net  - http://james.newtonking.com/projects/json-net.aspx

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)