Einführung
In diesem Lab werden wir lernen, wie man mit der Java-Programmiersprache Daten in eine Datei schreibt. Das Schreiben von Daten in eine Datei kann sehr nützlich sein, wenn Sie die von Ihrem Programm generierten Daten speichern möchten, um sie später zu verwenden.
Eine Datei öffnen/erstellen
Der erste Schritt besteht darin, eine Datei zu öffnen oder zu erstellen, in die wir die Daten schreiben möchten. Wir werden eine neue Datei namens output.txt im Verzeichnis ~/project erstellen.
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class Main {
public static void main(String[] args) {
Path path = Paths.get("~/project/output.txt");
}
}
Einen String in eine Datei schreiben
Jetzt, da wir unsere Datei geöffnet haben, können wir einen String in sie schreiben. Dies wird mit der Files.write()-Methode durchgeführt.
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.charset.StandardCharsets;
public class Main {
public static void main(String[] args) throws IOException {
Path path = Paths.get("~/project/output.txt");
String content = "This is some text that we want to write to the file";
Files.write(path, content.getBytes());
}
}
Wir schreiben hier einen String in die Datei, indem wir ihn in Bytes umwandeln und ihn an die Files.write()-Methode übergeben. Beachten Sie, dass wir die getBytes()-Methode verwenden müssen, um den String in Bytes umzuwandeln.
Um den obigen Code in Ihrem Terminal auszuführen, müssen Sie zunächst im Terminal zu Ihrem Projektverzeichnis navigieren. Anschließend führen Sie den folgenden Befehl aus:
javac Main.java && java Main
Eine Liste von Strings in eine Datei schreiben
Wir können auch eine Liste von Strings in die Datei schreiben, indem wir die Files.write()-Methode verwenden, wie folgt:
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String[] args) throws IOException {
Path path = Paths.get("~/project/output.txt");
List<String> lines = Arrays.asList("This is line 1", "This is line 2", "This is line 3");
Files.write(path, lines, StandardCharsets.UTF_8);
}
}
Wir schreiben hier eine Liste von Strings in die Datei. Beachten Sie, dass wir eine überladene Version der Files.write()-Methode verwenden, die eine Liste von Strings als Parameter akzeptiert.
Um den obigen Code auszuführen, um eine Liste von Strings in die Datei zu schreiben, müssen Sie zunächst im Terminal zu Ihrem Projektverzeichnis navigieren. Anschließend führen Sie den folgenden Befehl aus:
javac Main.java && java Main
An eine Datei anhängen
Wenn Sie Daten in eine Datei schreiben möchten, ohne die vorhandenen Daten in der Datei zu überschreiben, können Sie die Option StandardOpenOption.APPEND verwenden, wenn Sie die Datei öffnen. Dies wird alle neuen Daten am Ende der Datei anhängen.
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import java.util.List;
import java.nio.file.StandardOpenOption;
public class Main {
public static void main(String[] args) throws IOException {
Path path = Paths.get("~/project/output.txt");
List<String> lines = Arrays.asList("This is line 4", "This is line 5", "This is line 6");
Files.write(path, lines, StandardCharsets.UTF_8, StandardOpenOption.APPEND);
}
}
Wir haben hier der Files.write()-Methode die Option StandardOpenOption.APPEND hinzugefügt, die Java mitteilt, neue Daten am Ende der Datei anzuhängen, anstatt vorhandene Daten zu überschreiben.
Um den Anhängevorgang auszuführen, müssen Sie zunächst im Terminal zu Ihrem Projektverzeichnis navigieren. Anschließend führen Sie den folgenden Befehl aus:
javac Main.java && java Main
Die Datei schließen
Schließlich müssen wir die Datei mit der Files.close()-Methode schließen. Dies gewährleistet, dass alle gepufferten Daten vor dem Schließen der Datei in die Datei geschrieben werden.
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import java.util.List;
import java.nio.file.StandardOpenOption;
public class Main {
public static void main(String[] args) throws IOException {
Path path = Paths.get("~/project/output.txt");
String content = "This is some text that we want to write to the file";
Files.write(path, content.getBytes());
Files.write(path, System.lineSeparator().getBytes(), StandardOpenOption.APPEND);
Files.write(path, "This is a new line".getBytes(), StandardOpenOption.APPEND);
Files.close();
}
}
Zusammenfassung
In diesem Lab haben wir gelernt, wie man mit der Files-Klasse in Java Daten in eine Datei schreibt. Wir haben gesehen, wie man einen String in eine Datei schreibt, eine Liste von Strings in eine Datei schreibt, an eine Datei anhängt und eine Datei schließt. Wir hoffen, dass Sie jetzt mit Hilfe der Files-Klasse in Java eine Datei leicht schreiben können.



