logo

Programme Java pour écrire dans un fichier

Dans cet article, nous verrons différentes manières d'écrire dans un fichier à l'aide du langage de programmation Java. La classe Java FileWriter en Java est utilisée pour écrire des données orientées caractères dans un fichier, car cette classe est une classe orientée caractères en raison de son utilisation dans la gestion des fichiers en Java.

Il y a beaucoup de façons d'écrire dans un fichier en Java car il existe de nombreuses classes et méthodes qui peuvent atteindre l'objectif suivant :



  1. En utilisant writeString() méthode
  2. Utilisation de la classe FileWriter
  3. Utilisation de la classe BufferedWriter
  4. Utilisation de la classe FileOutputStream

Méthode 1 : Utilisation de la méthode writeString()

Cette méthode est prise en charge par Java version 11. Cette méthode peut prendre quatre paramètres. Il s'agit du chemin du fichier, de la séquence de caractères, du jeu de caractères et des options. Les deux premiers paramètres sont obligatoires pour que cette méthode puisse écrire dans un fichier. Il écrit les caractères comme contenu du fichier. Il renvoie le chemin du fichier et peut générer quatre types d'exceptions. Il est préférable de l'utiliser lorsque le contenu du fichier est court.

Exemple: Il montre l'utilisation du writeString() méthode qui se trouve sous la classe Files pour écrire des données dans un fichier. Une autre classe, Path, est utilisée pour attribuer au nom de fichier un chemin où le contenu sera écrit. La classe Files a une autre méthode nommée readString() pour lire le contenu de tout fichier existant utilisé dans le code pour vérifier que le contenu est correctement écrit dans le fichier.

Java




multiplication matricielle en c





// Java Program to Write Into a File> // using writeString() Method> // Importing required classes> import> java.io.IOException;> import> java.nio.file.Files;> import> java.nio.file.Path;> // Main class> public> class> GFG {> >// Main driver method> >public> static> void> main(String[] args)> >throws> IOException> >{> >// Assigning the content of the file> >String text> >=>'Welcome to geekforgeeks Happy Learning!'>;> >// Defining the file name of the file> >Path fileName = Path.of(> >'/Users/mayanksolanki/Desktop/demo.docx'>);> >// Writing into the file> >Files.writeString(fileName, text);> >// Reading the content of the file> >String file_content = Files.readString(fileName);> >// Printing the content inside the file> >System.out.println(file_content);> >}> }>

>

>

Sortir

Welcome to geekforgeeks Happy Learning!>

Méthode 2 : utilisation de la classe FileWriter

Si le contenu du fichier est court, utiliser la classe FileWriter pour écrire dans le fichier est une autre meilleure option. Il écrit également le flux de caractères comme contenu du fichier comme la méthode writeString(). Le constructeur de cette classe définit le codage des caractères par défaut et la taille du tampon par défaut en octets.

L'exemple ci-dessous illustre l'utilisation de la classe FileWriter pour écrire du contenu dans un fichier. Cela nécessite de créer l'objet de la classe FileWriter avec le nom de fichier à écrire dans un fichier. Ensuite, la méthode write() est utilisée pour écrire la valeur de la variable texte dans le fichier. Si une erreur se produit au moment de l'écriture du fichier, une exception IOException sera levée et le message d'erreur sera imprimé à partir du bloc catch.

Exemple:

liste des polices dans Gimp

Java




// Java Program to Write into a File> // using FileWriterClass> // Importing required classes> import> java.io.FileWriter;> import> java.io.IOException;> // Main class> public> class> GFG {> >// Main driver method> >public> static> void> main(String[] args)> >{> >// Content to be assigned to a file> >// Custom input just for illustration purposes> >String text> >=>'Computer Science Portal techcodeview.com'>;> >// Try block to check if exception occurs> >try> {> >// Create a FileWriter object> >// to write in the file> >FileWriter fWriter =>new> FileWriter(> >'/Users/mayanksolanki/Desktop/demo.docx'>);> >// Writing into file> >// Note: The content taken above inside the> >// string> >fWriter.write(text);> >// Printing the contents of a file> >System.out.println(text);> >// Closing the file writing connection> >fWriter.close();> >// Display message for successful execution of> >// program on the console> >System.out.println(> >'File is created successfully with the content.'>);> >}> >// Catch block to handle if exception occurs> >catch> (IOException e) {> >// Print the exception> >System.out.print(e.getMessage());> >}> >}> }>

>

>

Sortir

es5 contre es6
File is created successfully with the content.>

Méthode 3 : utilisation de la classe BufferedWriter

Il est utilisé pour écrire du texte dans un flux de sortie de caractères. Il a une taille de tampon par défaut, mais une taille de tampon plus grande peut être attribuée. Il est utile pour écrire des caractères, des chaînes et des tableaux. Il est préférable d'encapsuler cette classe avec n'importe quelle classe d'écriture pour écrire des données dans un fichier si aucune sortie d'invite n'est requise.

Exemple:

Java




// Java Program to write into a File> // Using BufferedWriter Class> // Importing java input output libraries> import> java.io.BufferedWriter;> import> java.io.FileWriter;> import> java.io.IOException;> // Main class> public> class> GFG {> >// Main driver method> >public> static> void> main(String[] args)> >{> >// Assigning the file content> >// Note: Custom contents taken as input to> >// illustrate> >String text> >=>'Computer Science Portal techcodeview.com'>;> >// Try block to check for exceptions> >try> {> >// Step 1: Create an object of BufferedWriter> >BufferedWriter f_writer> >=>new> BufferedWriter(>new> FileWriter(> >'/Users/mayanksolanki/Desktop/demo.docx'>));> >// Step 2: Write text(content) to file> >f_writer.write(text);> >// Step 3: Printing the content inside the file> >// on the terminal/CMD> >System.out.print(text);> >// Step 4: Display message showcasing> >// successful execution of the program> >System.out.print(> >'File is created successfully with the content.'>);> >// Step 5: Close the BufferedWriter object> >f_writer.close();> >}> >// Catch block to handle if exceptions occurs> >catch> (IOException e) {> >// Print the exception on console> >// using getMessage() method> >System.out.print(e.getMessage());> >}> >}> }>

>

>

Sortir

jtextfield
File is created successfully with the content.>

L'exemple suivant montre l'utilisation de la classe BufferedWriter pour écrire dans un fichier. Cela nécessite également de créer l'objet de la classe BufferedWriter comme FileWriter pour écrire du contenu dans le fichier. Mais cette classe prend en charge le contenu volumineux à écrire dans le fichier en utilisant une grande taille de tampon.

Méthode 4 : utilisation de la classe FileOutputStream

Il est utilisé pour écrire des données de flux brutes dans un fichier. Les classes FileWriter et BufferedWriter sont utilisées pour écrire uniquement le texte dans un fichier, mais les données binaires peuvent être écrites à l'aide de la classe FileOutputStream.

vlc télécharger des vidéos youtube

L'exemple suivant illustre l'écriture de données dans un fichier à l'aide de la classe FileOutputStream. Cela nécessite également de créer l'objet de la classe avec le nom de fichier pour écrire des données dans un fichier. Ici, le contenu de la chaîne est converti en tableau d'octets écrit dans le fichier à l'aide de l'option écrire() méthode.

Exemple:

Java




// Java Program to Write into a File> // using FileOutputStream Class> // Importing java input output classes> import> java.io.FileOutputStream;> import> java.io.IOException;> public> class> GFG {> >// Main driver method> >public> static> void> main(String[] args)> >{> >// Assign the file content> >String fileContent =>'Welcome to geeksforgeeks'>;> >FileOutputStream outputStream =>null>;> >// Try block to check if exception occurs> >try> {> >// Step 1: Create an object of FileOutputStream> >outputStream =>new> FileOutputStream(>'file.txt'>);> >// Step 2: Store byte content from string> >byte>[] strToBytes = fileContent.getBytes();> >// Step 3: Write into the file> >outputStream.write(strToBytes);> >// Print the success message (Optional)> >System.out.print(> >'File is created successfully with the content.'>);> >}> >// Catch block to handle the exception> >catch> (IOException e) {> >// Display the exception/s> >System.out.print(e.getMessage());> >}> >// finally keyword is used with in try catch block> >// and this code will always execute whether> >// exception occurred or not> >finally> {> >// Step 4: Close the object> >if> (outputStream !=>null>) {> >// Note: Second try catch block ensures that> >// the file is closed even if an error> >// occurs> >try> {> >// Closing the file connections> >// if no exception has occurred> >outputStream.close();> >}> >catch> (IOException e) {> >// Display exceptions if occurred> >System.out.print(e.getMessage());> >}> >}> >}> >}> }>

>

>

Sortir

File is created successfully with the content.>