La lecture et le traitement de grands volumes de texte fichier de 25 GO

Je dois lire un gros fichier texte, disons, 25 GO et de la nécessité de traiter ce dossier dans les 15 à 20 minutes. Ce fichier aura plusieurs d'en-tête et pied de page de la section.

J'ai essayé CSplit de découper ce fichier en-tête, mais c'est à prendre autour de 24 à 25 min de diviser en un certain nombre de fichiers sur la base de l'en-tête, ce qui n'est pas du tout acceptable.

J'ai essayé séquentielle de la lecture et de l'écriture à l'aide de BufferReader et BufferWiter avec FileReader et FileWriter. Il prend plus de 27 min. Encore une fois, il n'est pas acceptable.

J'ai essayé une autre approche comme obtenir l'index de début de chaque en-tête, puis exécuter plusieurs threads de lire le fichier à partir de l'emplacement spécifique en utilisant RandomAccessFile. Mais pas de chance sur ce.

Comment puis-je obtenir mon exigence?

Double Possible de:

Lire les gros fichiers en Java

OriginalL'auteur user1142292 | 2012-01-11