Чтение и обработка большого текстового файла размером 25 ГБ

Мне нужно прочитать большой текстовый файл, скажем, 25 ГБ, и мне нужно обработать этот файл в течение 15-20 минут. Этот файл будет иметь несколько разделов верхнего и нижнего колонтитула.

Я попытался CSplit разделить этот файл на основе заголовка, но разделение его на несколько файлов на основе заголовка занимает от 24 до 25 минут, что совершенно неприемлемо.

Я пробовал последовательное чтение и запись с помощью BufferReader и BufferWiter вместе с FileReader и FileWriter . Это занимает более 27 мин. Опять же, это неприемлемо.

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

Как я могу выполнить свое требование?

Возможный дубликат:

Чтение больших файлов в Java

10
задан Community 23 May 2017 в 12:08
поделиться