Вставить текст между строками

288
25 августа 2017, 22:06

Есть .txt в нем 2 строки длинна ==. Я с клавы ввел строку, и она записалась между двумя строками.. как именно записать чтобы было между двумя строками моя строка..?

Answer 1
var text = Console.ReadLine(); //Текст для вставки.
var list = File.ReadAllLines(fileName).ToList(); //текущий файл построчно в List.
list.Insert(1, text); //Вставляем наш List 2-ой строкой наш текст.
File.WriteAllLines(fileName, list); //Перезаписываем в наш файл полученный список строк.
Answer 2

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

С технической точки зрения, файл будет перезаписан целиком (если строчки небольшие), так как операционная система может оперировать только блоками, а ниже лежащее блочное устройство, будет оперировать только секторами. Фактически, при любой небольшой записи, перезаписывается весь сектор целиком (или записывается на новое место, создавая физическую копию). Но это уже абстрация, которой управляет ОС, потому не пытайтесь ее оптимизировать, это не в вашей власти, вы ничего не сможете предпринять, даже не пытайтесь, выхода нет.

READ ALSO
C# .Net | SIP VoIP Client

C# .Net | SIP VoIP Client

Необходимо сделать клиент SIP для передачи голоса и его получения, для его дальнейшей передачи

329
NetworkServer Spawn

NetworkServer Spawn

Всем приветВ общем, проблема такова: Сделал мультиплеер в игре, написал вот этот скрипт:

239
Регулярное выражение для парсинга url

Регулярное выражение для парсинга url

Есть ссылка вида https://domaincom/someRoute/someRoute/

256
Путь по умолчанию File.Exists(path)

Путь по умолчанию File.Exists(path)

Если в FileExists(path), в path передать только имя файла, то где он будет его искать по дефолту?

281