Как сделать запись в 1 строку файла c#
нужно сделать так чтобы заменялся не весь файл а определённая строка
Ответы (1 шт):
Автор решения: Qwer
→ Ссылка
Если файл не большой, то подойдёт примитивный способ:
using System.IO;
string text = File.ReadAllText("foobar.txt");
text = text.Replace("old_text", "new_text");
File.WriteAllText("foobar.txt", text);
Этот способ жрёт много памяти. Лучше делать таким способом (его реализация будет неплохой практикой для новичка):
- Создаём новый файл.
- Копируем в него часть исходного файла до начала заменяемой строки.
- Записываем в него строку, которую хотим вставить.
- Копируем в него остальную часть исходного файла от конца заменяемой строки.
- Переименовываем исходный файл, например, добавив префикс old к названию.
- Переименовываем новый файл именем исходного.
- Удаляем исходный файл. Этот пункт реализуй только когда протестируешь корректную работу алгоритма по остальным пунктам!
