Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.10.2014, 23:03   #1
arahis
Пользователь
 
Регистрация: 10.10.2011
Сообщений: 64
По умолчанию Как перезаписать определенную строку в файле?

Как перезаписать не весь текстовый файл а только одну его строку? Желательно силами StreamWriter и StreamReader. Причем не в ручную. Тоесть без открытия в текстовом поле. Допустим у меня есть какая-то переменная и я ее значение записываю в определенную строку текстового файла. Я просто создаю игру и мне надо рекорды и настройки сохранить в текстовом файле. Ну с другими я не умею работать. Но на изучения других у меня пока нет времени. Я и так штудирую как могу, выше головы не прыгнешь.
arahis вне форума Ответить с цитированием
Старый 08.10.2014, 10:04   #2
cerkonst
Пользователь
 
Аватар для cerkonst
 
Регистрация: 18.01.2011
Сообщений: 19
По умолчанию

Средствами StreamWriter и StreamReader не в лоб не получиться. У меня когда-то вставал такойже вопрос. Может вам поможет. Я перешел на работу с INI файлами, даже написал свой класс для простой работы с ними и теперь вообще красота одной сточкой меняю параметр в файле.
___________________________________ _________
Самые гениальные идеи - самые простые.
Помог с ответом нажми на весы.
cerkonst вне форума Ответить с цитированием
Старый 08.10.2014, 10:53   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

инкапсуляция такого изменения одной строки не отменяет ее.

как таковую строку на строку можно сменить без перезаписи всего только если они одного размера.
иначе перезапись всего.

вам бы я посоветовал изучить сериализацию, это довольно простая вещь просто позволит записать в файл объект.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 08.10.2014, 11:22   #4
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Согласен с Пепел Феникса, сериализация/десериализация в шарпе много проще, чем ручная работа с текстовым файлом. А .ini - вообще атавизм
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума Ответить с цитированием
Старый 08.10.2014, 17:50   #5
arahis
Пользователь
 
Регистрация: 10.10.2011
Сообщений: 64
По умолчанию

Хм, а можно в коде получить доступ к определенной строке текстбокса? Покажите как.
Делаем так: открываем файл в невидимый текстбокс, значение переменной присваеваем определенной строке текстбокса, полностью переписываем текстовый файл с текстбокса.
arahis вне форума Ответить с цитированием
Старый 08.10.2014, 22:03   #6
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

file.readalllines не подошёл ?
phomm вне форума Ответить с цитированием
Старый 08.10.2014, 23:20   #7
arahis
Пользователь
 
Регистрация: 10.10.2011
Сообщений: 64
По умолчанию

Ура получилось! Каждая переменная записывается в отдельную строку:
Код:
string n1="ляляля", n2="дырдырдыр", n3="бумбумбум";
			 string[] createText = { n1, n2, n3 };
            File.WriteAllLines("Рекорды.txt", createText);
А вот каждая строка записывается в отдельную переменную:
Код:
StreamReader streamReader = new StreamReader("Рекорды.txt");
string str, n1, n2, n3;
str= streamReader.ReadLine();
n1=str;
str= streamReader.ReadLine();
n2=str;
str= streamReader.ReadLine();
n3=str;
Теперь я могу использовать текстовый файл для сохранения игры.
arahis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как считать каждую строку в файле? proef Помощь студентам 10 08.06.2013 18:24
Как в ListView отключить определенную строку? KWN, lnc Общие вопросы Delphi 19 06.02.2011 21:26
Как изменить определенную строку в запросе? FACE OFF Помощь студентам 2 16.12.2010 14:21
Возможно ли удалить, вырезать, определенную строку в TMemo Des Компоненты Delphi 2 28.04.2009 16:21
Считать определенную строку из файла DimkinStd Работа с сетью в Delphi 4 15.02.2007 22:30