Wie liest man am schnellsen .txt Files ein

insertcoin

Erfahrenes Mitglied
Ich les Files über

BufferedReader in=new BufferedReader(new FileReader(Datei.txt));
String text;
while ((text=in.readLine() ) != null)
Verarbeitung

ein. Ist das die schnellste Methode um Dateien einzulesen Wär suupie wenn ich mein Prog irgendwie noch ein bisschen schneller machen könnte. Hab schon ein anderes Thema dazu gefunden, aber da hat keiner eine diskrete Antwort gegeben.

Danke für ANtworten..
 
1. Du kannst für String text; einen StringBuffer (synchronisiert) oder einen noch schnelleren Stringbuilder(nicht synchroniesiert) verwenden(einfach mit append anhängen). Da der normale String sehr statisch ist und oftmals einfach kopiert wird oder neue Strings angelegt werden müssen.

2. Du könntest die eingelesene Linie sofort benutzen bzw. verarbeiten, wenn es dein Programm zu lässt. Dann musst du garnicht erst die ganze Datei als String in den Speicher laden.
 
1. Gib den BufferedReader eine Cachegröße mit. 10240 sollte reichen.

2. Was machst Du mit den Daten?
Evtl. nimmst Du besser einen BufferedStream oder gleich ein RandomAccessFile.
 
Ich muss noch dazu sagen, wenn ich die Zeile eingelesen habe. Schreibe ich bestimmte Merkmale raus, speicher diese in einen Properties Table. Und brauch sie dann auch nicht mehr, speicher also immer wirklich nur diese eine Zeile. Glaub ich hab das davor etwas falsch beschrieben.
Wie ist es denn mit einem FileChannel
Da gibt es soviele verschiedene Möglichkeiten, ich weiß echt nicht was es bringt..
 
Zurück