Как сделать запись в 1 строку файла c#

Рейтинг: -2Ответов: 1Опубликовано: 12.01.2023

нужно сделать так чтобы заменялся не весь файл а определённая строка

Ответы

▲ 3

Если файл не большой, то подойдёт примитивный способ:

using System.IO;

string text = File.ReadAllText("foobar.txt");
text = text.Replace("old_text", "new_text");
File.WriteAllText("foobar.txt", text);

Этот способ жрёт много памяти. Лучше делать таким способом (его реализация будет неплохой практикой для новичка):

  1. Создаём новый файл.
  2. Копируем в него часть исходного файла до начала заменяемой строки.
  3. Записываем в него строку, которую хотим вставить.
  4. Копируем в него остальную часть исходного файла от конца заменяемой строки.
  5. Переименовываем исходный файл, например, добавив префикс old к названию.
  6. Переименовываем новый файл именем исходного.
  7. Удаляем исходный файл. Этот пункт реализуй только когда протестируешь корректную работу алгоритма по остальным пунктам!введите сюда описание изображения