English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In questo tutorial, impareremo tramite esempi Java FileWriter e i suoi metodi.
La classe FileWriter del pacchetto java.io può essere utilizzata per scrivere dati (in termini di caratteri) nei file.
Erede della classe OutputStreamWriter.
Prima di approfondire FileWriter, assicurati di comprendereFile Java.
Per creare un'.writer di file, dobbiamo prima importare il pacchetto Java.io.FileWriter. Dopo aver importato il pacchetto, possiamo creare un'.writer di file.
1. Utilizzo del nome file
FileWriter output = new FileWriter(String name);
In questo esempio, creiamo un'.writer di file che si collegherà al nome del file specificato.
2. Utilizzo dell'oggetto file
FileWriter input = new FileWriter(File fileObj);
In questo esempio, creiamo un'.writer di file che si collegherà al file specificato dall'oggetto file.
Negli esempi precedenti, i dati sono stati memorizzati utilizzando una codifica di caratteri predefinita.
Ma a causa di Java 11, possiamo anche specificare il tipo di codifica dei caratteri (UTF8oUTF16)
FileWriter input = new FileWriter(String file, Charset cs);
In questo esempio, utilizziamo la classe Charset per specificare la codifica dei caratteri dell'.writer di file.
La classe FileWriter fornisce implementazioni per diversi metodi presenti nella classe Writer.
write() - Scrive un carattere nell'.writer
write(char[] array) - Scrive i caratteri dell'array specificato nell'.writer
write(String data) - Scrive la stringa specificata nell'.writer
import java.io.FileWriter; public class Main {}} public static void main(String args[]) { String data = "This is the data in the output file"; try { //crea FileWriter FileWriter output = new FileWriter("output.txt"); //scrive una stringa nel file output.write(data); //chiude writer output.close(); } catch (Exception e) { e.getStackTrace(); } } }
Nell'esempio sopra, abbiamo creato un writer di file chiamato output. Il reader di output è associato aoutput.txtCollegamento del file.
FileWriter output = new FileWriter("output.txt");
Per scrivere i dati nel file, abbiamo utilizzato il metodo write().
In questo caso, quando eseguiamo il programma,output.txtIl file sarà riempito con il seguente contenuto.
This is a line of text inside the file.
Il metodo getEncoding() può essere utilizzato per ottenere il tipo di codifica utilizzato per scrivere i dati. Ad esempio,
import java.io.FileWriter; import java.nio.charset.Charset; class Main { public static void main(String[] args) { String file = "output.txt"; try { //crea un FileReader con codifica predefinita FileWriter output1 = new FileWriter(file); //crea un FileReader con specifica codifica FileWriter output2 = new FileWriter(file, Charset.forName("UTF8")); //ritorna la codifica del lettore System.out.println("codifica dei caratteri di output1: " + output1.getEncoding()); System.out.println("codifica dei caratteri di output2: " + output2.getEncoding()); // chiude reader output1.close(); output2.close(); } catch(Exception e) { e.getStackTrace(); } } }
Risultato di output
Codifica dei caratteri di output1: Cp1252 Codifica dei caratteri di output2: UTF8
Nell'esempio sopra, abbiamo creato 2 writer di file, rispettivamente denominati output1 e output2.
output1 non specifica la codifica dei caratteri. Pertanto, il metodo getEncoding() restituisce la codifica dei caratteri predefinita.
output2 specifica la codifica dei caratteriUTF8. Pertanto, il metodo getEncoding() restituisce la codifica dei caratteri specificata.
Attenzione: Abbiamo specificato il tipo di codifica dei caratteri utilizzando il metodo Charset.forName().
Per chiudere il file writer, possiamo utilizzare il metodo close(). Una volta chiamato il metodo close(), non possiamo scrivere dati utilizzando il writer.
Metodo | Descrizione |
---|---|
flush() | Scrivi forzatamente tutti i dati esistenti nel writer nel destinazione corrispondente |
append() | Inserisci il carattere specificato nel writer corrente |