Um zeichenbasierte E/A-Operationen durchzuführen, stellt Java eine eigene Hierarchie zeichenbasierter Streams mit abstrakten Klassen wie Reader und Writer bereit. Mit diesen Klassen können Sie Zeichen direkt lesen und schreiben, wodurch sie besser für Textdaten als für Byteströme geeignet sind. Die Hauptmethoden dieser Klassen verarbeiten Lese- und Schreibvorgänge und können im Fehlerfall eine IOException auslösen.
Charakterstromstruktur
Hauptabstrakte Klassen:
Diese Klassen bilden die minimale Struktur von E/A-Operationen für Zeichenströme, wobei die Methoden auf alle Unterklassen anwendbar sind.
Konsoleneingabe mit Zeichenströmen
Für internationalisierte Programme oder Programme, die Text manipulieren, ist es vorzuziehen, Zeichen mithilfe von Zeichenströmen von der Konsole zu lesen. Da es sich bei System.in um einen Bytestream handelt, muss er für Zeichenstreams angepasst werden.
Dazu verwenden wir:
Beispiel für eine Lesekonsoleneingabe
Um Konsoleneingaben mit BufferedReader zu lesen, konvertieren wir zunächst System.in mit InputStreamReader in einen Zeichenstrom:
import java.io.*; public class ConsoleReaderExample { public static void main(String args[]) { try (BufferedReader reader = new BufferedReader(new InputStreamReader(System.in))) { System.out.print("Digite uma linha de texto: "); String linha = reader.readLine(); System.out.println("Você digitou: " linha); } catch(IOException e) { System.out.println("Erro de entrada/saída: " e); } } }
Code-Erklärung
Vorteile von Charakterflüssen
Diese Zeichenströme erleichtern die Textverarbeitung und eignen sich ideal für die Dateneingabe und Dateibearbeitung, bei denen Zeichen und Text im Vordergrund stehen.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3