Verwenden wir Java New FileIO! (Einführung für Anfänger)

Auslösen

Ich unterrichte Java in der Schule, also habe ich es aus den damaligen Materialien gemacht.

Erklärung der Wörter

Erklären Sie vorerst die Wörter und Sätze.

Was ist FileIO?

Sie können I (Eingabe / Eingabe) und O (Ausgabe / Ausgabe) des Dateisystems ausführen!

Was ist ein Dateisystem? !!

Ein Dateisystem ist eine Welt, die aus einer Datei erstellt wird, in der Daten im Betriebssystem gespeichert sind, und einem Verzeichnis, das sie gemeinsam verwaltet (Verzeichnis, Ordner).

Einführung

Was können Sie mit FileIO tun?

Für Dateien und Verzeichnisse können Sie alles tun, was wir (wahrscheinlich) mit dem Betriebssystem tun, z. B. löschen, erstellen, existieren, ..., schreiben, lesen usw. !!

Wie macht man das in Java?

→ NewIO, eine Standard-Java-Bibliothek, wird empfohlen!

Früher bestand es hauptsächlich aus einer Klasse namens File (java.io series), jetzt ist es praktisch und optimiert, sodass ein Paket namens New I / O (java.nio series) verwendet wird. Was wir tun, ist der Mainstream in der Zukunft.

Verwenden wir NewIO

Erste Schritte mit NewIO

In NewIO spielen die folgenden zwei (drei) Klassen im Allgemeinen eine grundlegende Rolle.

Path:Eine Klasse, die String konvertiert, um den Pfad einer Datei darzustellen
Paths:Klasse zum Erstellen eines Pfads
Files:Klasse, die tatsächlich Dateien betreibt

Pfad erhalten

Pfad abrufen (Beispiel)… Speicherort der Datei!

Path path = Paths.get(“C:\\”, “a”);

Beispiele für die Verwendung von Dateien

Beispiel für die Verwendung von Dateien ... Führen Sie Vorgänge für Dateien / Verzeichnisse aus.

Files.exsit(path);

Lesen und Schreiben in Dateien

Grundsätzlich sollten Sie die folgenden zwei Klassen verwenden. (Obwohl die meisten anderen Klassen grundsätzlich alt sind, beachten Sie bitte, dass sie häufig in anderen Klassen verwendet werden, auch wenn sie alt sind.)

BufferedWriter:Eine Klasse, die mithilfe eines Puffers effizient in eine Datei schreibt
BufferedReader:Eine Klasse, die Dateien mithilfe eines Puffers effizient liest

Was ist Puffer?

Daten werden vorübergehend im Speicher abgelegt. Auch als tmp / temp bekannt.

Generierung von BufferedWriter / BufferedReader (Instanz)

Alter Weg

Vielleicht benutze ich es nicht viel (in NewIO).

BufferedWriter bw = new BufferedWriter(Writer);
BufferedReader br = new BufferedReader(Reader);

Generierung von BufferedWriter / BufferedReader mit NewIO

BufferedWriter bw = Files.newBufferedWriter(path);

Verwendung von BufferedWriter / BufferedReader

bw.write(String);
String line = br.readLine();
try {
	BufferedWriter bw = Files.newBufferedWriter(path);
	bw.write(“A”);
	bw.close();
} catch (IOException ex) {
	ex.printStackTrace();
}

Darüber hinaus kann beim Schließen eine Ausnahme auftreten, und es müssen Ausnahmen für das Schließen behandelt werden. Daher ist es notwendig, wie folgt vorzugehen.

try {
	BufferedWriter bw = Files.newBufferedWriter(path);
	bw.write(“A”);
} catch (IOException ex) {
	ex.printStackTrace();
} finally {
	try {
		bw.close();
	} catch (IOException ex) {
		ex.printStackTrace();
	}
}

Verdammt lange

Verwendung von BufferedWriter / BufferedReader (Verbesserung) ~ try-catch-resouce!

Es ist sehr lang, wie zuvor zu schreiben. Daher wurde die Try-Catch-Resouce-Syntax aus Java 7 hinzugefügt, und es wurde möglich, wie folgt präzise zu schreiben.

try (BufferedWriter bw = Files.newBufferedWriter(path)) {
	bw.write(“A”);
}

sehr gut. Referenz: https://qiita.com/Takmiy/items/a0f65c58b407dbc0ca99

Wie kann man eine Linie brechen? (Verwendung von write ())

Nur br.write (Text) aufzurufen, bricht die Linie nicht,

br.write("AA");
br.write("BB");

AABB

Es wird so etwas wie sein.

Um eine Zeile zu unterbrechen, fügen Sie am Ende der Zeilenfolge ein Zeilenumbruchzeichen hinzu.

bw.write(text + System.lineSeparator());

Aufgabe

  1. Schreiben Sie eine Zeichenfolge in die Datei
  2. Mehrzeilige Version von "1." (mit Liste)
  3. Datei lesen
  4. Mehrzeilige Version von "3." (Zeilenausdruck unter Verwendung von Liste), alle Zeilen können verwendet werden, oder es kann ein beliebiger Zeilenbereich verwendet werden.

Säule

Über die übliche Syntax, die wir bisher verwendet haben ...

System.out.println(“Hello world!”);

Wenn Sie sich das ansehen, nachdem Sie FileIO verstanden haben, denke ich, dass es FileIO ähnelt.

Was meinst du? Es wird sein.

Tatsächlich ist System.out (out) ein OutputStream! Das ist. (Das heißt, für die Ausgabe)

Derzeit ist Stream eine Abstraktion von FileIO. (vielleicht) Ebenso gibt es auch System.in, einen InputStream. (Das heißt, für die Eingabe)

Dies ist jedoch natürlich, wenn Sie darüber nachdenken, und das Schreiben von Zeichen auf der Konsole unterscheidet sich nicht wesentlich vom Schreiben von Zeichen in Dateien (ich fand es interessant, diese Art von Gemeinsamkeit zu haben).

Referenz / Referenz

Recommended Posts

Verwenden wir Java New FileIO! (Einführung für Anfänger)
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [Einführung]
[Java] Erstellen wir einen Minecraft Mod 1.16.1 [Einführung]
[Einführung in Java] Grundlagen der Java-Arithmetik (für Anfänger)
Einführung in Java für Anfänger Grundkenntnisse der Java-Sprache ①
Java-Debug-Ausführung [für Java-Anfänger]
[Java] Grundlegende Aussage für Anfänger
[Für Super-Anfänger] DBUnit Super-Einführung
Java für Anfänger, Daten verstecken
[Für Super-Anfänger] Maven Super-Einführung
Java-Anwendung für Anfänger: Stream
Neue Syntax für Java 12 Switch-Anweisungen
[Für Anfänger] Zusammenfassung des Java-Konstruktors
Anfänger spielen Janken-Spiele in Java
Java für Anfänger, Ausdrücke und Operatoren 1
[Für Anfänger] Führen Sie Selenium auf Java aus
Java für Anfänger, Ausdrücke und Operatoren 2
[Für Super-Anfänger] Mirage SQL Super-Einführung
Java (Klassentyp für Feld verwenden)
[Für Java-Anfänger] Informationen zur Ausnahmebehandlung
Klassen und Instanzen Java für Anfänger
Einführung in Java zum ersten Mal # 2
Lernen Sie aus "Na und", den Grundlagen von Java [für Anfänger]
[Für Anfänger] Unterschied zwischen Java und Kotlin
Einführung des Java-Programmierhandbuchs der neuen Generation (Java 10)
Zum ersten Mal Java lernen [Einführung]
[Java] Einführung
Einführung des Java-Programmierhandbuchs der neuen Generation (Java 11)
Verwenden wir den Swift Package Manager (SwiftPM) ~ Einführung ~
Einführung des Java-Programmierhandbuchs der neuen Generation (Java 12)
[Für Anfänger] Einführung in Java Grundkenntnisse der Java-Sprache ③ Array, Auswahlstruktur, iterative Struktur
Bucheinführung: Spring Boot Empfohlenes Nachschlagewerk für Anfänger!
[Java] Was soll ich zum Schreiben von Dateien verwenden?
Verwenden Sie die Java7-Anweisung try-with-resources für die Verarbeitung zum Schließen des Cursors
Pleiades Eclipse 2020-03 Release ~ Java 14 Probieren wir neue Funktionen aus!
Denken wir daran, was in Java 9 neu ist
Eine Sammlung einfacher Fragen für Java-Anfänger
Verwenden Sie vorerst eine externe Java-Bibliothek
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [99. Mod-Ausgabe]
[Für Super-Anfänger] Verwendung des Autofokus: true
Lassen Sie uns Java studieren
Für JAVA-Lernen (2018-03-16-01)
Verwenden wir jcmd
2017 IDE für Java
Java1.8 neue Funktionen
[Java] Einführung in Java
[Java] Verwenden Sie Collectors.collectingAndThen
Einführung in Java
Java für Anweisung
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [0. Basisdatei]
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [4. Tools hinzufügen]
[Java] Lass uns einen Minecraft Mod 1.14.4 erstellen [5. Rüstung hinzufügen]
[Für Anfänger] Lassen Sie uns wie Swift beschichten!
[Für Anfänger] Verstehen Sie schnell die Grundlagen von Java 8 Lambda
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [Extra Edition]
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [7. Fortschritt hinzufügen]
[Java] Erstellen wir einen Minecraft Mod 1.14.4 [6. Rezept hinzufügen]
[Für Anfänger] So bedienen Sie die Stream-API nach Java 8
[Java] Erstellen wir einen Minecraft Mod 1.16.1 [Element hinzufügen]
[Java] Erstellen wir einen Minecraft Mod 1.16.1 [Basisdatei]