Java FileWriter (con esempi)

In questo tutorial, impareremo a conoscere Java FileWriter e i suoi metodi con l'aiuto di esempi.

La FileWriterclasse del java.iopacchetto può essere utilizzata per scrivere dati (in caratteri) su file.

Estende la OutputStreamWriterclasse.

Prima di saperne di più FileWriter, assicurati di conoscere Java File.

Crea un FileWriter

Per creare un file writer, dobbiamo Java.io.FileWriterprima importare il pacchetto. Una volta importato il pacchetto, ecco come possiamo creare il file writer.

1. Utilizzando il nome del file

 FileWriter output = new FileWriter(String name); 

Qui abbiamo creato un file writer che verrà collegato al file specificato dal nome.

2. Utilizzo di un oggetto del file

 FileWriter input = new FileWriter(File fileObj); 

Qui abbiamo creato un file writer che sarà collegato al file specificato dall'oggetto del file.

Nell'esempio precedente, i dati vengono memorizzati utilizzando una codifica dei caratteri predefinita.

Tuttavia, poiché Java 11 è possibile specificare anche il tipo di codifica dei caratteri ( UTF8 o UTF16 ).

 FileWriter input = new FileWriter(String file, Charset cs); 

Qui abbiamo usato la Charsetclasse per specificare la codifica dei caratteri del file writer.

Metodi di FileWriter

La FileWriterclasse fornisce implementazioni per diversi metodi presenti nella Writerclasse.

metodo write ()

  • write() - scrive un singolo personaggio allo scrittore
  • write(char() array) - scrive i caratteri dall'array specificato nel writer
  • write(String data) - scrive la stringa specificata nel writer

Esempio: FileWriter per scrivere dati su un file

 import java.io.FileWriter; public class Main ( public static void main(String args()) ( String data = "This is the data in the output file"; try ( // Creates a FileWriter FileWriter output = new FileWriter("output.txt"); // Writes the string to the file output.write(data); // Closes the writer output.close(); ) catch (Exception e) ( e.getStackTrace(); ) ) ) 

Nell'esempio precedente, abbiamo creato un file writer denominato output. Il lettore di output è collegato al file output.txt .

 FileWriter output = new FileWriter("output.txt"); 

Per scrivere dati nel file, abbiamo utilizzato il write()metodo.

Qui quando eseguiamo il programma, il file output.txt viene riempito con il seguente contenuto.

 This is a line of text inside the file. 

metodo getEncoding ()

Il getEncoding()metodo può essere utilizzato per ottenere il tipo di codifica utilizzato per scrivere i dati. Per esempio,

 import java.io.FileWriter; import java.nio.charset.Charset; class Main ( public static void main(String() args) ( String file = "output.txt"; try ( // Creates a FileReader with default encoding FileWriter output1 = new FileWriter(file); // Creates a FileReader specifying the encoding FileWriter output2 = new FileWriter(file, Charset.forName("UTF8")); // Returns the character encoding of the reader System.out.println("Character encoding of output1: " + output1.getEncoding()); System.out.println("Character encoding of output2: " + output2.getEncoding()); // Closes the reader output1.close(); output2.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

Produzione

 La codifica dei caratteri di output1: Cp1252 La codifica dei caratteri di output2: UTF8 

Nell'esempio precedente, abbiamo creato 2 file writer denominati output1 e output2.

  • output1 non specifica la codifica dei caratteri. Quindi il getEncoding()metodo restituisce la codifica dei caratteri predefinita.
  • output2 specifica la codifica dei caratteri, UTF8 . Quindi il getEncoding()metodo restituisce la codifica dei caratteri specificata.

Nota : abbiamo utilizzato il Charset.forName()metodo per specificare il tipo di codifica dei caratteri. Per saperne di più, visita Java Charset (documentazione Java ufficiale).

metodo close ()

Per chiudere il file writer, possiamo utilizzare il close()metodo. Una volta close()chiamato il metodo, non possiamo utilizzare il writer per scrivere i dati.

Altri metodi di FileWriter

Metodo Descrizione
flush() obbliga a scrivere tutti i dati presenti nel writer nella corrispondente destinazione
append() inserisce il carattere specificato nel writer corrente

Per saperne di più, visita Java FileWriter (documentazione Java ufficiale).

Articoli interessanti...