Учитывая текстовый файл, как я могу начать читать произвольную строку и ничего больше в файле?Как читать указанную строку в текстовом файле?
Скажем, у меня есть файл test.txt. Как я могу прочитать строку строки 15 в файле?
Все, что я видел, это материал, содержащий сохранение всего текстового файла в виде массива String, а затем использование значения номера строки в качестве номера строки для использования из массива ... но есть некоторые сложности: Текстовый файл чрезвычайно огромен, и машина, которую я кодирую, не является самой совершенной системой. Скорость не является главным приоритетом, но это определенно серьезная проблема.
Есть ли способы для ТОЛЬКО читает определенную строку текстового файла и сохраняет результат в виде строки?
Спасибо за ваши ответы: Файл KINDA структурирован. У него есть 25 строк информации, а затем X строки цифр, но строка 17 из первых 25 имеет значение X.
Но тогда есть 1 пустая строка, и она повторяется как вторая запись в файле, а X может иметь другое значение для каждой записи.
Что я хочу сделать, это прочитать и сохранить первые 25 строк в качестве независимых значений, а затем сохранить следующие строки X (обычно около 250) в виде массива. Тогда я буду хранить его в базе данных SQL и повторите со следующей записью, пока не достигнет Y й записи (количество записей в файле находится в строке 3)
EDIT 2: Хорошо, я думаю, что я пришел к решению, основанному на сочетании ваших ответов.
Я собираюсь прочитать первые 25 строк и сохранить его как массив. Я скопирую соответствующее содержимое массива на локальные переменные, а затем удалю первые 25 строк. Затем я могу использовать информацию для хранения следующих строк X (значение элемента 13 в массиве) в качестве массива, сериализовать его, сохранить в базе данных, а затем удалить строки, которые я только что прочитал.
Я мог бы повторить процесс для каждой последующей записи.
Конечно, это зависит от одного допущения, которое я делаю, что, если честно, я не уверен, что это правда. Можно ли удалить первые строки n из текстового файла из C# без необходимости читать всю вещь и переписывать ее без первых n строк?
Являются ли сами линии фиксированной длиной (в байтах) или нет. Это делает большой разброс по типам доступных решений. –
«У нас есть 25 строк информации»: я думаю, это противоречит предположениям фиксированной линии, упомянутым ниже, вам просто нужно прочитать все строки и получить то, что вы хотите по пути. –
Что вам действительно нужно, это не система для непосредственного получения i-й строки. Вам просто нужно обработать файл в один проход и выполнить некоторые операции на этом пути. Вы можете использовать фрагмент кода в моем ответе (метод ReadLine) для чтения по одной строке за раз. –