В текстовом файле строки обнаруживаются с помощью \n в конце каждой строки. Для этого необходимо прочитать весь файл, а это большая проблема для больших файлов (скажем, 2 ГБ). Я ищу способ прочитать одну строку, не просматривая весь файл (хотя я знаю, что это должен быть сложный процесс).
- Первый известный мне способ — использовать fseek() со смещением; но это не практично.
- Создание плоского файла ключ/значение; но я не уверен, есть ли способ избежать загрузки всего в ОЗУ (это должно быть что-то вроде чтения массива в php).
В качестве альтернативы, мы можем сделать несколько чисел в начале каждой строки для чтения. Я имею в виду, можно ли прочитать первые цифры в начале строки, пропустив содержимое строки (перейдя на следующую строку).
768| line content is here 769| another line 770| something
При чтении только первых цифр общий объем данных, которые должны быть прочитаны, невелик даже для больших файлов.