Moin, moin! Heute nun eine kurze Einweisung in die richtige Verwendung von BufferedReaders und den Grund warum der BufferedReader so populär ist. Im Grunde gibt es zwei Gründe:
- BufferedReader verbessert die Lesegeschwindigkeit aus anderen Readern (z.B. FileReader um von der Festplatte zu lesen) drastisch,
- BufferedReader hat praktischer Weise eine readLine() Methode, mit deren Hilfe man ganze Zeilen lesen kann.
In Prinzip ist der BufferedReader auch nur ein Reader. Das heisst er hat die typischen read(…) Methoden. Intern aber, arbeitet der BufferedReader auf einem Speicherbereich (dem Buffer), den er erst füllt, bevor seine read(…) Methoden darauf arbeiten können. Das heisst, dass der BufferedReader größere Datenblöcke auf einmal lesen kann und die dann nach und nach an den äußeren Reader weiterleiten kann. Das ist insbesondere sinnvoll bei Readern die von wiederum von Low-Level Readern lesen, die jeweils bei größeren Datenblöcken performant sind, wie typischer Weise von der Festplatte oder vom Socket.
Ein typischer Gebrauch eines BufferedReaders sieht so aus:
InputStreamReader inputStreamReader = new InputStreamReader(new FileInputStream (textFile), encoding ); BufferedReader bufferedReader = new BufferedReader (inputStreamReader);
