Heute werden wir uns damit befassen, wie man in Java an eine Datei anhängt. Das Anhängen an eine Datei in Java ist eine gängige Java-IO-Operation. Wenn wir beispielsweise etwas in Serverprotokollen ausdrucken, wird es an die vorhandene Datei angehängt.
Java an Datei anhängen
Wir können in Java an eine Datei anhängen, indem wir folgende Klassen verwenden.
- Java an Datei anhängen mit
FileWriter
- Inhalte in einer vorhandenen Datei in Java mit
BufferedWriter
anhängen - Text an Datei in Java anhängen mit
PrintWriter
- An Datei in Java anhängen mit
FileOutputStream
Wenn Sie an Textdaten arbeiten und die Anzahl der Schreibvorgänge gering ist, verwenden Sie FileWriter und verwenden Sie seinen Konstruktor mit dem Anfügeflag-Wert
true
. Wenn die Anzahl der Schreibvorgänge groß ist, sollten Sie den BufferedWriter verwenden. Um binäre oder Rohdatenströme an eine vorhandene Datei anzuhängen, sollten Sie FileOutputStream verwenden.
Java an Datei anhängen mit FileWriter
Hier ist das kurze Programm, um in Java eine Datei mit FileWriter anzuhängen. Später werden wir uns ein vollständiges Beispielprogramm zum Anhängen von Dateien in Java ansehen.
File file = new File("append.txt");
FileWriter fr = new FileWriter(file, true);
fr.write("data");
fr.close();
Java Inhalt an vorhandene Datei anhängen mit BufferedWriter
File file = new File("append.txt");
FileWriter fr = new FileWriter(file, true);
BufferedWriter br = new BufferedWriter(fr);
br.write("data");
br.close();
fr.close();
Text an Datei in Java anhängen mit PrintWriter
Wir können auch PrintWriter verwenden, um in Java an eine Datei anzuhängen.
File file = new File("append.txt");
FileWriter fr = new FileWriter(file, true);
BufferedWriter br = new BufferedWriter(fr);
PrintWriter pr = new PrintWriter(br);
pr.println("data");
pr.close();
br.close();
fr.close();
In Java an Datei anhängen mit FileOutputStream
Sie sollten FileOutputStream verwenden, um Daten an eine Datei anzuhängen, wenn es sich um Rohdaten, Binärdaten, Bilder, Videos usw. handelt.
OutputStream os = new FileOutputStream(new File("append.txt"), true);
os.write("data".getBytes(), 0, "data".length());
os.close();
Java Beispiel zum Anhängen an eine Datei
Hier ist das endgültige Java-Programm zum Anhängen an eine Datei, das alle oben diskutierten verschiedenen Optionen zeigt.
package com.journaldev.files;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
public class JavaAppendToFile {
/**
* Java append to file example
*
* @param args
*/
public static void main(String[] args) {
String filePath = "/Users/pankaj/Downloads/append.txt";
String appendText = "This String will be appended to the file, Byte=0x0A 0xFF";
appendUsingFileWriter(filePath, appendText);
appendUsingBufferedWriter(filePath, appendText, 2);
appendUsingPrintWriter(filePath, appendText);
appendUsingFileOutputStream(filePath, appendText);
}
private static void appendUsingPrintWriter(String filePath, String text) {
File file = new File(filePath);
FileWriter fr = null;
BufferedWriter br = null;
PrintWriter pr = null;
try {
// Um an eine Datei anzuhängen, müssen Sie FileWriter mit dem untenstehenden Konstruktor initialisieren
fr = new FileWriter(file, true);
br = new BufferedWriter(fr);
pr = new PrintWriter(br);
pr.println(text);
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
pr.close();
br.close();
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
/**
* Use Stream for java append to file when you are dealing with raw data, binary
* data
*
* @param data
*/
private static void appendUsingFileOutputStream(String fileName, String data) {
OutputStream os = null;
try {
// Das folgende true-Flag teilt dem OutputStream mit, dass angehängt werden soll
os = new FileOutputStream(new File(fileName), true);
os.write(data.getBytes(), 0, data.length());
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
/**
* Use BufferedWriter when number of write operations are more
*
* @param filePath
* @param text
* @param noOfLines
*/
private static void appendUsingBufferedWriter(String filePath, String text, int noOfLines) {
File file = new File(filePath);
FileWriter fr = null;
BufferedWriter br = null;
try {
// Um an eine Datei anzuhängen, müssen Sie FileWriter mit dem untenstehenden Konstruktor initialisieren
fr = new FileWriter(file, true);
br = new BufferedWriter(fr);
for (int i = 0; i < noOfLines; i++) {
br.newLine();
// Sie können die Methode write oder append verwenden
br.write(text);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
br.close();
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
/**
* Use FileWriter when number of write operations are less
*
* @param filePath
* @param text
* @param noOfLines
*/
private static void appendUsingFileWriter(String filePath, String text) {
File file = new File(filePath);
FileWriter fr = null;
try {
// Das folgende Konstruktorargument entscheidet, ob angehängt oder überschrieben werden soll
fr = new FileWriter(file, true);
fr.write(text);
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
Das ist alles für das Anhängen an eine Datei im Java-Programm.
Sie können weitere Java-IO-Beispiele aus unserem GitHub-Repository überprüfen.
Referenzen:
Source:
https://www.digitalocean.com/community/tutorials/java-append-to-file