Unterschied BufferedReader und BufferedInputStream

Human-Java

Neues Mitglied
Huhu ich bin relativ neu und da ich gerade auf Arbeit bin und in der Nachtschicht sehr viel zeit hab dachte ich mir ich schau mir mal die API an. Allerdings, da mein Englisch nicht das beste ist habe ich eine Deutsche Version ( https://www.dpunkt.de/java/Referenz/Das_Paket_java.io/1.html )

Wie dem auch sei. Ich habe mir die Klassen BufferedReader und BufferedInputStream einmal angeschaut dabei ist mit bei der Beschreibung aufgefallen, das diese ziemlich exakt gleich sind.

Gibt es denn einen Unterschied in der Nutzung ? Wenn ja Welchen ?


Hier einmal die Beschreibungen.

BufferedReader
BufferedReader ist ein gepufferter Eingabe-Stream für Unicode-Zeichen. Beim Aufruf einer read-Methode werden mehr Daten aus dem darunterliegenden Stream gelesen, als eigentlich angefordert wurden. Diese Daten werden in einem Puffer zwischengespeichert, so daß nachfolgende Leseoperationen ihre Daten aus dem Puffer beziehen, was deutliche Geschwindigkeitsvorteile bringen kann. Dieser Stream arbeitet stets auf einem anderen Reader-Objekt, aus dem er die Daten bezieht.

BufferedInputStream
Diese Klasse implementiert einen gepufferten Eingabe-Stream. Beim Aufruf einer read()-Methode werden mehr Daten aus dem darunterliegenden Stream gelesen, als eigentlich angefordert wurden. Diese Daten werden in einem Puffer zwischengespeichert, so daß nachfolgende Leseoperationen ihre Daten aus dem Puffer beziehen, was deutliche Geschwindigkeitsvorteile bringen kann.
 
BufferedInputStream liest bytes und BufferedReader characters. Das ist ein Unterschied, denn ein char ist 16 bit breit.
 
Kannst du kein Englisch? Dann halt lernen.... Der wichtigste Unterschied wird in ersterem Erwähnt und in zweiterem nicht mehr: BufferedReader "arbeitet" zeichenbasiert (/-weise), BufferedInputStream "arbeitet" bitweise. BufferedReader interpretiert Zeichen, BufferedInputStream hingegen nicht!!!! Je nach operierendem System ,werden Zeichen unterschiedlich interpretiert - schlussendlich werden sie in UTF-16 umgewandelt - und das 16 steht für 16 bit. Nochmal: BufferedReader ist für die Zeichenverarbeitung und BufferedInputStream für die bitverarbeitung.... Keine Ahnung, welche schöne Geschichte du von mir hören möchtest.
 
Wer sagt denn, dass byteweise nicht auf bitweise basiert? Und ich sag ja noch nichtmal dass das Geschwafel Andies falsch sei.
 

Zurück
Oben