Was ist der Unterschied zwischen BufferedReader und InputStreamReader in Java?


Antwort 1:
  • Ein InputStreamReader erstellt ein neues Stream-Objekt, mit dem Daten aus der angegebenen Quelle gelesen werden können. Es ist eine Brücke von Byteströmen zu Zeichenströmen. Es liest Bytes und decodiert sie unter Verwendung eines angegebenen Zeichensatzes in Zeichen. Der verwendete Zeichensatz kann durch den Namen angegeben oder der Standardzeichensatz der Plattform akzeptiert werden. BufferedReader ist eine Abstraktion, die Text aus einem Zeicheneingabestream liest. Es puffert Zeichen, um ein effizientes Lesen von Zeichen und Zeilen zu ermöglichen. Es ist eine Klasse, die verwendet wird, um den Text aus einem zeichenbasierten Eingabestream zu lesen. Es kann zum zeilenweisen Lesen von Daten mit der readLine () -Methode verwendet werden. Es macht die Leistung schnell. Es erbt die Klasse Reader.

Antwort 2:

Ein InputStreamReader ist eine Brücke von Byte-Streams zu Zeichen-Streams: Er liest Bytes und decodiert sie unter Verwendung eines angegebenen Zeichensatzes in Zeichen. Der verwendete Zeichensatz kann namentlich angegeben oder explizit angegeben werden, oder der Standardzeichensatz der Plattform wird akzeptiert.

Jeder Aufruf einer der read () -Methoden eines InputStreamReader kann dazu führen, dass ein oder mehrere Bytes aus dem zugrunde liegenden Byte-Eingabestream gelesen werden. Um die effiziente Umwandlung von Bytes in Zeichen zu ermöglichen, können mehr Bytes aus dem zugrunde liegenden Datenstrom gelesen werden, als für die aktuelle Leseoperation erforderlich sind.

Um eine optimale Effizienz zu erzielen, sollten Sie einen InputStreamReader in einen BufferedReader einschließen. Beispielsweise:

 BufferedReader in
   = neuer BufferedReader (neuer InputStreamReader (System.in));
public class BufferedReader erweitert Reader

Liest Text aus einem Zeicheneingabestream und puffert Zeichen, um das effiziente Lesen von Zeichen, Arrays und Zeilen zu ermöglichen.

Die Puffergröße kann angegeben oder die Standardgröße verwendet werden. Der Standardwert ist für die meisten Zwecke groß genug.

Im Allgemeinen bewirkt jede Leseanforderung eines Lesegeräts, dass eine entsprechende Leseanforderung des zugrunde liegenden Zeichens oder Bytestroms erfolgt. Es ist daher ratsam, einen BufferedReader um alle Reader zu wickeln, deren read () -Operationen kostspielig sein können, z. B. FileReaders und InputStreamReaders. Beispielsweise,

 BufferedReader in
   = neuer BufferedReader (neuer FileReader ("foo.in"));

Antwort 3:

Referenz: Decodejava.com mit einem einfachen Java-Tutorial

Dateieingabe- / Ausgabeoperationen verbrauchen viele wichtige Ressourcen und sind zeitaufwändig. Daher ist das Lesen eines Teils von Zeichen aus einer Datei und das Speichern in einem lokalen Puffer für die spätere Verarbeitung schneller als das Lesen eines Zeichens zu einem Zeitpunkt aus einer Datei.

Daher wird die BufferedReader-Klasse verwendet, um einen solchen gepufferten Reader-Stream zu erstellen, durch den ein Teil der Zeichen aus einer Datei ausgelesen und zur späteren Verwendung in einen lokalen Puffer übertragen wird.

Weitere Informationen zu BufferedReader mit einem einfachen Codebeispiel finden Sie unter Java BufferedReader Class - Decodejava.com

InputStreamReader wird um einen Eingabestream (der Bytes einliest) gewickelt, um Daten in Form von Zeichen daraus zu lesen. Daher fungiert die InputStreamReader-Klasse als Konverter von Bytes in Zeichen.

Weitere Informationen zu InputStreamReader mit einem einfachen Codebeispiel finden Sie unter Java InputStreamReader Class - Decodejava.com

Ich hoffe es hilft,

Viel Glück!


Antwort 4:

Referenz: Decodejava.com mit einem einfachen Java-Tutorial

Dateieingabe- / Ausgabeoperationen verbrauchen viele wichtige Ressourcen und sind zeitaufwändig. Daher ist das Lesen eines Teils von Zeichen aus einer Datei und das Speichern in einem lokalen Puffer für die spätere Verarbeitung schneller als das Lesen eines Zeichens zu einem Zeitpunkt aus einer Datei.

Daher wird die BufferedReader-Klasse verwendet, um einen solchen gepufferten Reader-Stream zu erstellen, durch den ein Teil der Zeichen aus einer Datei ausgelesen und zur späteren Verwendung in einen lokalen Puffer übertragen wird.

Weitere Informationen zu BufferedReader mit einem einfachen Codebeispiel finden Sie unter Java BufferedReader Class - Decodejava.com

InputStreamReader wird um einen Eingabestream (der Bytes einliest) gewickelt, um Daten in Form von Zeichen daraus zu lesen. Daher fungiert die InputStreamReader-Klasse als Konverter von Bytes in Zeichen.

Weitere Informationen zu InputStreamReader mit einem einfachen Codebeispiel finden Sie unter Java InputStreamReader Class - Decodejava.com

Ich hoffe es hilft,

Viel Glück!