Heim  >  Artikel  >  Java  >  So erstellen Sie den InputStreamReader-Stream in JAVA

So erstellen Sie den InputStreamReader-Stream in JAVA

WBOY
WBOYnach vorne
2023-05-17 22:43:341558Durchsuche

1. InputStreamReader-Klasse

API-Dokumentationsbeschreibung: Die InputStreamReader-Klasse ist eine Brücke von einem Byte-Stream zu einem Zeichen-Stream: Sie liest Bytes unter Verwendung des angegebenen Zeichensatzes und dekodiert sie in Zeichen. Der verwendete Zeichensatz kann durch Angabe eines Namens, durch explizite Angabe oder durch Akzeptieren des Standardzeichensatzes der Plattform festgelegt werden. Jeder Aufruf der read()-Methode eines InputStreamReader kann dazu führen, dass ein oder mehrere Bytes aus dem zugrunde liegenden Byte-Eingabestream gelesen werden. Um eine effiziente Konvertierung von Bytes in Zeichen zu erreichen, können mehr Bytes aus dem zugrunde liegenden Stream extrahiert werden, als zur Erfüllung des aktuellen Lesevorgangs erforderlich sind. Um effizienter zu arbeiten, sollten Sie erwägen, InputStreamReader als Basis zu verwenden und es in BufferedReader einzuschließen.

Es erbt die Reader-Klasse Charakter Wie verstehst du die Brücke des Flusses?

1 Die Einheit des Computerspeichers ist Bytes. Obwohl es im TXT-Text Zeichen wie chinesische Zeichen gibt, liegen sie für den Computer in Bytes vor. 🎜🎜 #2. Das Lesen des Bytestroms ist ein Einzelbyte-Lesen, aber unterschiedliche Zeichensätze erfordern unterschiedliche Zahlen zum Dekodieren in Zeichen, daher wird beim Lesen des Bytestroms ein Fehler gemeldet

Zum Zwischenspeichern der Bytes Aus dem Byte-Stream gelesen und über den Zeichensatz in Zeichen dekodiert, muss ein Stream verwendet werden. Dies ist die Form des Zeichen-Streams

4 Der InputStreamReader-Stream spielt diese Rolle und wird von umgesetzt Bytestrom zu Zeichenstrom

2) Wie kann man das verstehen, indem man Bytes liest und sie mit dem angegebenen Zeichensatz in Zeichen dekodiert?

Ein Byte besteht im Wesentlichen aus 8 Binärbits, und verschiedene Zeichensätze dekodieren dasselbe Byte, um unterschiedliche Zeichenergebnisse zu erzeugen. Stellen Sie daher beim Lesen des Zeichensatzes sicher, dass Sie das entsprechende Zeichen angeben, andernfalls wird es gelesen Der Inhalt wird verstümmelt.

3) Der verwendete Zeichensatz kann namentlich angegeben werden, er kann explizit angegeben werden oder er kann den Standardzeichensatz der Plattform akzeptieren verstehen?

bedeutet, dass die InputStreamReader-Klasse über mehrere Methoden oder mehrere Konstruktoren verfügt, um den Zeichensatz festzulegen.

4) Jedes Mal, wenn ein Lesevorgang von InputStreamReader aufgerufen wird ()-Methode kann dazu führen, dass ein oder mehrere Bytes aus dem zugrunde liegenden Byte-Eingabestream gelesen werden.

read()-Methode versucht, 2 Zeichen aus dem zugrunde liegenden Byte-Stream in den Zeichenpuffer zu lesen. Beachten Sie, dass dies ein Versuch ist Es kann nur ein Zeichen gelesen werden, daher ist die Anzahl der von jeder read()-Methode gelesenen Bytes variabel

5) Um eine effektive Konvertierung von Bytes in Zeichen zu erreichen, können Sie Folgendes tun: Extrahieren Sie mehr Bytes aus dem zugrunde liegenden Stream, als zur Erfüllung des aktuellen Lesevorgangs erforderlich sind. Bitte erwägen Sie, den InputStreamReader in einen BufferedReader zu packen. Die Antwort kann nur durch Leseeffizienz erhalten werden

2. InputStreamReader-Konstruktionsmethode #🎜🎜 #

1) Verwenden Sie den Standardzeichensatz, um den InputStreamReader-Stream zu erstellen: Das Wesentliche besteht darin, eine Variable in ihrer Instanzdomäne zu initialisieren. Ich habe keine Einstellungen zum Zeichensatz gesehen

public class InputStreamReader extends Reader {}
2) Verwenden Sie den angegebenen Zeichensatznamen, um den InputStreamReader-Stream zu erstellen: Das Wesentliche besteht darin, eine Variable in ihrem Instanzfeld zu initialisieren. Sie können feststellen, dass der Zeichensatz der erste Schritt der Initialisierungsmethode ist. 🎜🎜#3) SD-Variable: Im Wesentlichen ein Objekt der StreamDecoder-Klasse. Die Konstruktionsmethode von InputStreamReader besteht darin, dieses Objekt zu initialisieren Stellen Sie fest, dass alle APIs der InputStreamReaderAPI-Klasse die SD-Variable verwenden. Daher können wir sehen, dass die Methode der InputStreamReader-Klasse im Wesentlichen darin besteht, die StreamDecoder-Klassenmethode

2 aufzurufen um die StreamDecoder-Klasse zu verstehen, um zu verstehen, wie die Methoden der InputStreamReader-Klasse eine wesentliche Rolle spielen. Die einfache Ableitung von InputStreamReader erweitert keine Funktionen InputStreamReader-Klasse, und die vom InputStreamReader gelesenen Daten werden tatsächlich von der StreamDecoder-Klasse gelesen

#🎜🎜 #3 Daher spielt die StreamDecoder-Klasse tatsächlich eine Rolle

Das obige ist der detaillierte Inhalt vonSo erstellen Sie den InputStreamReader-Stream in JAVA. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen