1, FileWritter écrit des fichiers dans des fichiers
FileWritter, le flux de caractères écrit des caractères dans des fichiers. Par défaut, il remplacera tout le contenu existant par du nouveau contenu. Cependant, lors de la spécification d'une valeur vraie (booléenne) comme deuxième paramètre du constructeur FileWritter, il conservera le contenu existant et ajoutera le nouveau contenu à la fin du fichier.
1. Remplacez tout le contenu existant par du nouveau contenu.
new FileWriter(file);2. Conservez le contenu existant et ajoutez le nouveau contenu à la fin du fichier.
new FileWriter(file,true);
Exemple de fichier d'ajout
Un fichier texte nommé "javaio-appendfile.txt" et contenant le contenu suivant.
ABC Hello ajoute un nouveau contenu new FileWriter(file,true)
package com.yiibai.file; import java.io.File; import java.io.FileWriter; import java.io.BufferedWriter; import java.io.IOException; public class AppendToFileExample { public static void main( String[] args ) { try{ String data = " This content will append to the end of the file"; File file =new File("javaio-appendfile.txt"); //if file doesnt exists, then create it if(!file.exists()){ file.createNewFile(); } //true = append file FileWriter fileWritter = new FileWriter(file.getName(),true); BufferedWriter bufferWritter = new BufferedWriter(fileWritter); bufferWritter.write(data); bufferWritter.close(); System.out.println("Done"); }catch(IOException e){ e.printStackTrace(); } } }
Résultat
Maintenant, le contenu du fichier texte "javaio-appendfile.txt" est mis à jour comme suit :
ABC Bonjour Ce contenu sera ajouté à la fin du fichier
Deuxièmement, BufferedWriter écrit le fichier
Les caractères tamponnés (BufferedWriter) sont une classe de flux de caractères pour traiter les données de caractères. Contrairement aux flux d'octets (données converties en octets), vous pouvez écrire des données de chaîne, de tableau ou de caractères directement dans un fichier.
package com.yiibai.iofile; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; public class WriteToFileExample { public static void main(String[] args) { try { String content = "This is the content to write into file"; File file = new File("/users/mkyong/filename.txt"); // if file doesnt exists, then create it if (!file.exists()) { file.createNewFile(); } FileWriter fw = new FileWriter(file.getAbsoluteFile()); BufferedWriter bw = new BufferedWriter(fw); bw.write(content); bw.close(); System.out.println("Done"); } catch (IOException e) { e.printStackTrace(); } } }
Troisièmement, FileOutputStream écrit des fichiers
Le flux de sortie de fichier est une classe de flux d'octets utilisée pour traiter les données binaires brutes. Afin d'écrire des données dans un fichier, les données doivent être converties en octets et enregistrées dans le fichier. Voir l’exemple complet ci-dessous.
package com.yiibai.io; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; public class WriteFileExample { public static void main(String[] args) { FileOutputStream fop = null; File file; String content = "This is the text content"; try { file = new File("c:/newfile.txt"); fop = new FileOutputStream(file); // if file doesnt exists, then create it if (!file.exists()) { file.createNewFile(); } // get the content in bytes byte[] contentInBytes = content.getBytes(); fop.write(contentInBytes); fop.flush(); fop.close(); System.out.println("Done"); } catch (IOException e) { e.printStackTrace(); } finally { try { if (fop != null) { fop.close(); } } catch (IOException e) { e.printStackTrace(); } } } } //更新的JDK7例如,使用新的“尝试资源关闭”的方法来轻松处理文件。 package com.yiibai.io; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; public class WriteFileExample { public static void main(String[] args) { File file = new File("c:/newfile.txt"); String content = "This is the text content"; try (FileOutputStream fop = new FileOutputStream(file)) { // if file doesn't exists, then create it if (!file.exists()) { file.createNewFile(); } // get the content in bytes byte[] contentInBytes = content.getBytes(); fop.write(contentInBytes); fop.flush(); fop.close(); System.out.println("Done"); } catch (IOException e) { e.printStackTrace(); } } }
Pour plus de méthodes Java pour écrire des fichiers et partager des articles connexes, veuillez faire attention au site Web PHP chinois !