Ich unterrichte Java in der Schule, also habe ich es aus den damaligen Materialien gemacht.
Erklären Sie vorerst die Wörter und Sätze.
Sie können I (Eingabe / Eingabe) und O (Ausgabe / Ausgabe) des Dateisystems ausführen!
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).
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. !!
→ 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.
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 abrufen (Beispiel)… Speicherort der Datei!
Path path = Paths.get(“C:\\”, “a”);
Beispiel für die Verwendung von Dateien ... Führen Sie Vorgänge für Dateien / Verzeichnisse aus.
Files.exsit(path);
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
Daten werden vorübergehend im Speicher abgelegt. Auch als tmp / temp bekannt.
Vielleicht benutze ich es nicht viel (in NewIO).
BufferedWriter bw = new BufferedWriter(Writer);
BufferedReader br = new BufferedReader(Reader);
BufferedWriter bw = Files.newBufferedWriter(path);
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
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
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());
Ü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).
Recommended Posts