Aujourd’hui, nous allons examiner comment ajouter à un fichier en Java. L’ajout en Java à un fichier est une opération courante de entrée-sortie Java. Par exemple, chaque fois que nous imprimons quelque chose dans les journaux du serveur, cela est ajouté au fichier existant.
Ajout en Java à un fichier
Nous pouvons ajouter à un fichier en Java en utilisant les classes suivantes.
- Ajout en Java à un fichier en utilisant
FileWriter
- Ajout de contenu en Java à un fichier existant en utilisant
BufferedWriter
- Ajouter du texte à un fichier en Java en utilisant
PrintWriter
- Ajouter à un fichier en Java en utilisant
FileOutputStream
Si vous travaillez sur des données textuelles et que le nombre d’opérations d’écriture est faible, utilisez FileWriter et utilisez son constructeur avec la valeur de drapeau d’ajout comme
true
. Si le nombre d’opérations d’écriture est énorme, vous devriez utiliser le BufferedWriter. Pour ajouter des données binaires ou de flux brut à un fichier existant, vous devriez utiliser FileOutputStream.
Ajout en Java à un fichier en utilisant FileWriter
Voici le court programme pour ajouter à un fichier en java utilisant FileWriter. Nous examinerons un programme complet d’ajout à un fichier Java plus tard.
File file = new File("append.txt");
FileWriter fr = new FileWriter(file, true);
fr.write("data");
fr.close();
Ajouter du contenu à un fichier existant en Java utilisant 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();
Ajouter du texte à un fichier en java utilisant PrintWriter
Nous pouvons également utiliser PrintWriter pour ajouter à un fichier en 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();
Ajouter à un fichier en java utilisant FileOutputStream
Vous devriez utiliser FileOutputStream pour ajouter des données à un fichier quand il s’agit de données brutes, de données binaires, d’images, de vidéos, etc.
OutputStream os = new FileOutputStream(new File("append.txt"), true);
os.write("data".getBytes(), 0, "data".length());
os.close();
Exemple d’ajout de fichier Java
Voici le programme final d’ajout de fichier Java montrant toutes les différentes options que nous avons discutées précédemment.
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 {
// Pour ajouter au fichier, vous devez initialiser FileWriter en utilisant le constructeur ci-dessous
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 {
// Le drapeau true ci-dessous indique à OutputStream d'ajouter
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 {
// Pour ajouter au fichier, vous devez initialiser FileWriter en utilisant le constructeur ci-dessous
fr = new FileWriter(file, true);
br = new BufferedWriter(fr);
for (int i = 0; i < noOfLines; i++) {
br.newLine();
// Vous pouvez utiliser la méthode write ou append
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 {
// L'argument du constructeur ci-dessous décide s'il faut ajouter ou remplacer
fr = new FileWriter(file, true);
fr.write(text);
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
C’est tout pour le programme d’ajout de fichier en Java.
Vous pouvez consulter plus d’exemples d’entrées/sorties Java depuis notre Dépôt GitHub.
Références :
Source:
https://www.digitalocean.com/community/tutorials/java-append-to-file