Vandaag gaan we kijken hoe we een bestand kunnen toevoegen in Java. Java bestand toevoegen is een veelvoorkomende Java IO bewerking. Bijvoorbeeld, telkens wanneer we iets naar serverlogs afdrukken, wordt het toegevoegd aan het bestaande bestand.
Java bestand toevoegen
We kunnen een bestand toevoegen in Java met behulp van de volgende klassen.
- Java bestand toevoegen met behulp van
FileWriter
- Java inhoud toevoegen aan bestaand bestand met behulp van
BufferedWriter
- Tekst toevoegen aan bestand in Java met behulp van
PrintWriter
- Bestand toevoegen in Java met behulp van
FileOutputStream
Als je werkt met tekstgegevens en het aantal schrijfbewerkingen is beperkt, gebruik dan FileWriter en gebruik de constructor met de vlag voor toevoegen ingesteld op
true
. Als het aantal schrijfbewerkingen groot is, moet je de BufferedWriter gebruiken. Om binaire of onbewerkte streamgegevens aan een bestaand bestand toe te voegen, moet je FileOutputStream gebruiken.
Java bestand toevoegen met behulp van FileWriter
Hier is het korte programma om aan een bestand toe te voegen in Java met behulp van FileWriter. We zullen later een volledig voorbeeldprogramma bekijken voor het toevoegen van gegevens aan een bestand in Java.
File file = new File("append.txt");
FileWriter fr = new FileWriter(file, true);
fr.write("data");
fr.close();
Java voeg inhoud toe aan een bestaand bestand met behulp van 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();
Voeg tekst toe aan een bestand in Java met PrintWriter
We kunnen ook PrintWriter gebruiken om aan een bestand toe te voegen in Java.
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();
Voeg toe aan een bestand in Java met FileOutputStream
Je moet FileOutputStream gebruiken om gegevens aan een bestand toe te voegen wanneer het ruwe gegevens, binair, afbeeldingen, video’s, enz. zijn.
OutputStream os = new FileOutputStream(new File("append.txt"), true);
os.write("data".getBytes(), 0, "data".length());
os.close();
Java voorbeeld bestand toevoegen
Hier is het uiteindelijke Java-programma om een bestand toe te voegen, waarin alle verschillende opties worden getoond die we hierboven hebben besproken.
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 {
// Om aan een bestand toe te voegen, moet je FileWriter initialiseren met behulp van onderstaande constructor
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 {
// de true-vlag vertelt de OutputStream om toe te voegen
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 {
// Om aan een bestand toe te voegen, moet je FileWriter initialiseren met behulp van onderstaande constructor
fr = new FileWriter(file, true);
br = new BufferedWriter(fr);
for (int i = 0; i < noOfLines; i++) {
br.newLine();
// je kunt de write- of append-methode gebruiken
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 {
// Het argument van de onderstaande constructor bepaalt of er moet worden toegevoegd of overschreven
fr = new FileWriter(file, true);
fr.write(text);
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
Dat is alles voor het toevoegen aan een bestand in het Java-programma.
Je kunt meer Java IO-voorbeelden bekijken op onze GitHub Repository.
Referenties:
Source:
https://www.digitalocean.com/community/tutorials/java-append-to-file