English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java 基礎教程

Java Controllo dei flussi

Java Array

Java Orientato a oggetti (I)

Java Orientato a oggetti (II)

Java Orientato a oggetti (III)

Java 异常处理

Java List

Java Queue (coda)

Java Map collection

Java Set collection

Java Input/Output (I/O)

Java Reader/Writer

Altri argomenti Java

Classe FileWriter Java

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.

Creazione di un FileWriter

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.

Metodi di FileWriter

La classe FileWriter fornisce implementazioni per diversi metodi presenti nella classe Writer.

Metodo write()

  • 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

Esempio: FileWriter scrive i dati nel 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 {
      //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()

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().

Metodo close()

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

Altri metodi di FileWriter

MetodoDescrizione
flush()Scrivi forzatamente tutti i dati esistenti nel writer nel destinazione corrispondente
append()Inserisci il carattere specificato nel writer corrente