In questo articolo vedremo diversi modi di scrivere in un file utilizzando il linguaggio di programmazione Java. La classe Java FileWriter in Java viene utilizzata per scrivere dati orientati ai caratteri in un file poiché questa classe è una classe orientata ai caratteri a causa di ciò che viene utilizzata nella gestione dei file in Java.
Ci sono molti modi per scrivere in un file in Java poiché ci sono molte classi e metodi che possono raggiungere l'obiettivo come segue:
- Utilizzando scrivereStringa() metodo
- Utilizzo della classe FileWriter
- Utilizzo della classe BufferedWriter
- Utilizzo della classe FileOutputStream
Metodo 1: utilizzo del metodo writeString()
Questo metodo è supportato da Java versione 11. Questo metodo può accettare quattro parametri. Questi sono il percorso del file, la sequenza di caratteri, il set di caratteri e le opzioni. I primi due parametri sono obbligatori affinché questo metodo possa scrivere in un file. Scrive i caratteri come contenuto del file. Restituisce il percorso del file e può generare quattro tipi di eccezioni. È preferibile utilizzarlo quando il contenuto del file è breve.
Esempio: Mostra l'uso di scrivereStringa() metodo che si trova nella classe Files per scrivere i dati in un file. Un'altra classe, Path, viene utilizzata per assegnare al nome del file un percorso in cui verrà scritto il contenuto. La classe Files ha un altro metodo denominato leggiStringa() per leggere il contenuto di qualsiasi file esistente utilizzato nel codice per verificare che il contenuto sia scritto correttamente nel file.
Giava
diagramma delle classi Java
// 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);> >}> }> |
>
prima ricerca approfondita dell'algoritmo
>Produzione
Welcome to geekforgeeks Happy Learning!>

Metodo 2: utilizzo della classe FileWriter
Se il contenuto del file è breve, l'utilizzo della classe FileWriter per scrivere nel file è un'altra opzione migliore. Scrive anche il flusso di caratteri come contenuto del file come il metodo writeString(). Il costruttore di questa classe definisce la codifica dei caratteri predefinita e la dimensione del buffer predefinita in byte.
L'esempio seguente illustra l'uso della classe FileWriter per scrivere contenuto in un file. Richiede la creazione dell'oggetto della classe FileWriter con il nome file da scrivere in un file. Successivamente, il metodo write() viene utilizzato per scrivere il valore della variabile testo nel file. Se si verifica un errore al momento della scrittura del file, verrà lanciata una IOException e il messaggio di errore verrà stampato dal blocco catch.
Esempio:
Giava
// 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());> >}> >}> }> |
>
>Produzione
.net tutorial
File is created successfully with the content.>

Metodo 3: utilizzo della classe BufferedWriter
Viene utilizzato per scrivere testo in un flusso di output di caratteri. Ha una dimensione del buffer predefinita, ma è possibile assegnarne una di grandi dimensioni. È utile per scrivere caratteri, stringhe e matrici. È preferibile racchiudere questa classe con qualsiasi classe di scrittura per scrivere dati in un file se non è richiesto alcun output di prompt.
Esempio:
Giava
// 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());> >}> >}> }> |
>
>Produzione
js caricato
File is created successfully with the content.>

L'esempio seguente mostra l'uso della classe BufferedWriter per scrivere in un file. Richiede inoltre la creazione dell'oggetto della classe BufferedWriter come FileWriter per scrivere il contenuto nel file. Ma questa classe supporta la scrittura di contenuti di grandi dimensioni nel file utilizzando una dimensione del buffer elevata.
Metodo 4: utilizzo della classe FileOutputStream
Viene utilizzato per scrivere i dati grezzi del flusso in un file. Le classi FileWriter e BufferedWriter vengono utilizzate per scrivere solo il testo in un file, ma i dati binari possono essere scritti utilizzando la classe FileOutputStream.
numero da stringare java
Per scrivere dati in un file utilizzando la classe FileOutputStream è mostrato nell'esempio seguente. Richiede inoltre la creazione dell'oggetto della classe con il nome file per scrivere i dati in un file. Qui, il contenuto della stringa viene convertito nell'array di byte scritto nel file utilizzando il metodo scrivere() metodo.
Esempio:
Giava
// 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());> >}> >}> >}> >}> }> |
>
>Produzione
File is created successfully with the content.>