[java.io] Zusammenfassung der Java-String-Eingabe (InputStream, Reader, Scanner)

Vor kurzem habe ich angefangen, Java im Unterricht zu schreiben. Ich habe die Beziehung zwischen Datei, InputStream, FileReader und Scanner nicht verstanden, daher werde ich sie zusammenfassen.

Dieser Artikel setzt Java SE 1.8 voraus. Dieser Artikel ist jedoch eine Zusammenfassung älterer java.io, nicht java.nio.

Es gibt keine Ausnahmebehandlung im Code, aber Sie müssen in der Lage sein, beim Öffnen einer Datei eine FileNotFoundException und beim Lesen oder Schreiben einer Datei eine IOException zu erhalten (oder sie in eine der oben genannten Methoden zu werfen).

Am Ende der Seite befindet sich ein zusammenfassendes Diagramm.

java.io Referenz

https://docs.oracle.com/javase/jp/8/docs/api/java/io/package-summary.html

File, FileDescriptor

  File file = new File("file.txt"); //Kann aus dem Dateinamen erstellt werden

InputStream Klasse zum Lesen von Bytes

--java.io.InputStream abstrakte Klasse --java.io.FileInputStream: Klasse zum Erstellen von InputStream aus Dateien --java.io.FilterInputStream: Klasse zum Halten von InputStream --java.io.BufferedInputStream: Puffert InputStream und lässt es als InputStream erscheinen.

// System.in ist eine Instanz von InputStream
InputStream sytemin = System.in;

//Erstellen Sie einen Stream aus einer Datei
InputStream fileStream = new FileInputStream("file.txt");
//Puffer den Stream
InputStream bufferedStream = new BufferedInputStream(fileStream); 

bufferedStream.close();

Reader Klassen mit 'Reader' am Ende ihres Namens, wie z. B. InputStream 'Reader', sind Klassen zum Lesen von String-Streams.

--java.io.Reader Abstrakte Klasse --java.io.InputStreamReader: InputStream => Bridging zum Reader. Sie können den Zeichensatz angeben --java.io.FileReader: Einfache Klasse (Reader besteht aus File, FileDescriptor, fileName. Die Zeichenkodierung kann nicht angegeben werden.) --java.io.BufferedReader: Puffer der Reader-Klasse

//Erstellen Sie einen Bytestream aus einer Datei
InputStream fileStream1 = new FileInputStream("file1.txt");
//Erstellen Sie einen String-Stream aus einem Byte-Stream
Reader reader1 = new InputStreamReader(fileStream1);

//Erstellen Sie einen Bytestream aus einer Datei
InputStream fileStream2 = new FileInputStream("file2.txt");
//Erstellen Sie einen String-Stream. Geben Sie die Zeichenfolgencodierung an
Reader reader2 = new InputStreamReader(fileStream2, "utf-8");

//Erstellen Sie mit einer einfachen Klasse einen Reader direkt aus einer Datei
Reader reader3 = new FileReader("file3.txt");

//Puffer den Leser
BufferedReader bufferedReader3 = new BufferedReader(reader3);
//BufferedReader liest eine Textzeile readLine()Es gibt
String line = bufferedReader3.readLine();

reader1.close();
reader2.close();
bufferedReader3.close();

java.util.Scanner Ein Scanner, der primitive Typen wie int, long und boolean sowie Zeichenfolgen aus Text abruft. Es kann aus der File-Klasse und der InputStream-Klasse erstellt werden. Sie können auch die Zeichenfolgencodierung angeben. Sie können die Übereinstimmung von Trennzeichen mit einem regulären Ausdruck angeben. Weitere Informationen finden Sie unter https://docs.oracle.com/javase/jp/8/docs/api/java/util/Scanner.html

// System.Lesen Sie eine Nummer von in
Scanner sc1 = new Scanner(System.in);
int i = sc1.nextInt();

//Aus Datei erstellen
Scanner sc2 = new Scanner(new File("file.txt"));

// Scanner sc2 = new Scanner("file.txt"));Ich kann so etwas nicht machen.
//Wenn du das tust"file.txt"Ich versuche die Zeichenkette zu lesen.

//Ändern Sie das Trennzeichen in Komma
sc2.useDelimiter(",");

//Zeigen Sie eine Zeile für jedes Trennzeichen an
while (sc2.hasNext())
{
    String str = sc2.next();
    System.out.println(str);
}

// sc1.close();
sc2.close();

Diagramm, das das Nutzungsverhältnis zeigt

java.io4.png

Gesetz der Namensgebung

Name der Klasse Demontage Bedeutung
FileInputStream File-InputStream Datei in InputStream konvertieren.
InputStreamReader InputStream-Reader Konvertieren Sie InputStream in Reader.
FileReader File-Reader Datei in Reader konvertieren.

Recommended Posts

[java.io] Zusammenfassung der Java-String-Eingabe (InputStream, Reader, Scanner)
Erfassung von Eingabeinhalten mit Scanner (Java)
Zusammenfassung der Java-Unterstützung 2018
Java Scanner Loop Eingang
[Java11] Stream-Zusammenfassung - Vorteile von Stream -
[Java] Zusammenfassung der regulären Ausdrücke
[Java] Zusammenfassung der Operatoren (Operator)
Zusammenfassung der Grundlagen der Java-Sprache
Zusammenfassung der Java Math Klasse
[Java] Zusammenfassung der Steuerungssyntax
Zusammenfassung der Java-Fehlerverarbeitung
[Java] Zusammenfassung der Entwurfsmuster
[Java] Zusammenfassung der mathematischen Operationen
[Für Anfänger] Zusammenfassung des Java-Konstruktors
Verschiedene Methoden der Java String Klasse
Zusammenfassung des Pakets [Java Silver Study]
[Java] Geben Sie in stdin of Process ein
[Java] Korrekter Vergleich des String-Typs
Zusammenfassung der objektorientierten Programmierung mit Java
[Java Silver] Zusammenfassung der Zugriffsmodifikatorpunkte
Geschichte von paiza.jp [Java Standard Input Solution]
[java] Zusammenfassung des Umgangs mit char
Zusammenfassung anderer Änderungen als JEP von Java10
[Java] Persönliche Zusammenfassung der bedingten Anweisungen (grundlegend)
[Java] [Maven3] Zusammenfassung der Verwendung von Maven3
Java Zusammenfassung der häufig gesuchten Typkonvertierungen
Zusammenfassung von Java Math.random und Import (Kalender)
Java-Zeichenfolge
Die Geschichte des einfachen String-Vergleichs in Java
[java] Zusammenfassung des Umgangs mit Zeichenketten
Zusammenfassung der Java-Umgebungseinstellungen für mich [mac]
[Java] Persönliche Zusammenfassung der Klassen und Methoden (grundlegend)
[Java] Zusammenfassung, wie Lambda-Ausdrücke weggelassen werden
[Java] Ermittelt die Länge der Ersatzpaarzeichenfolge
[Java] Der verwirrende Teil von String und StringBuilder
[Hinweis] Java: Messen Sie die Geschwindigkeit der Zeichenfolgenverkettung