Есть .txt в нем 2 строки длинна ==. Я с клавы ввел строку, и она записалась между двумя строками.. как именно записать чтобы было между двумя строками моя строка..?
var text = Console.ReadLine(); //Текст для вставки.
var list = File.ReadAllLines(fileName).ToList(); //текущий файл построчно в List.
list.Insert(1, text); //Вставляем наш List 2-ой строкой наш текст.
File.WriteAllLines(fileName, list); //Перезаписываем в наш файл полученный список строк.
Вам нужно найти в файле место начала второй строки, с этого места считать все во временный буфер, вернуться на то место, куда планируется запись, записать новую строчку, а потом дописать все, что было в буфере.
С технической точки зрения, файл будет перезаписан целиком (если строчки небольшие), так как операционная система может оперировать только блоками, а ниже лежащее блочное устройство, будет оперировать только секторами. Фактически, при любой небольшой записи, перезаписывается весь сектор целиком (или записывается на новое место, создавая физическую копию). Но это уже абстрация, которой управляет ОС, потому не пытайтесь ее оптимизировать, это не в вашей власти, вы ничего не сможете предпринять, даже не пытайтесь, выхода нет.
Продвижение своими сайтами как стратегия роста и независимости