Мне нужно прочитать большой текстовый файл, скажем, 25 ГБ, и мне нужно обработать этот файл в течение 15-20 минут. Этот файл будет иметь несколько разделов верхнего и нижнего колонтитула.
Я попытался CSplit разделить этот файл на основе заголовка, но требуется около 24-25 минут, чтобы разделить его на несколько файлов на основе заголовка, что совершенно неприемлемо.
Я пытался последовательно читать и писать, используя BufferReader
и BufferWiter
вместе с FileReader
и FileWriter
. Это займет более 27 минут. Опять же, это не приемлемо.
Я попробовал другой подход, например, получить начальный индекс каждого заголовка, а затем запустить несколько потоков, чтобы прочитать файл из определенного места, используя RandomAccessFile
. Но не повезло в этом.
Как мне выполнить мое требование?
Возможный дубликат:
Чтение больших файлов на Java