La classe FileWriter serve per scrivere caratteri (non byte) in un file.
È un writer orientato ai caratteri, quindi adatto per testi, non per dati binari.
Supporta sia la creazione di nuovi file che la scrittura su file esistenti, con possibilità di append.

Package: java.io Estende: OutputStreamWriter che a sua volta estende Writer


CARATTERISTICHE PRINCIPALI

Scrive dati di tipo char, String o array di caratteri in un file. Può sovrascrivere il contenuto esistente o aggiungere (append) in fondo. Può essere usato insieme a BufferedWriter per migliorare le prestazioni. Richiede la gestione delle eccezioni (IOException). È uno stream orientato ai caratteri, quindi converte i caratteri in byte usando la codifica predefinita della JVM.


METODI PRINCIPALI

MetodoDescrizione
FileWriter(String fileName)Crea un writer per il file indicato (sovrascrive se esiste).
FileWriter(String fileName, boolean append)Crea un writer per il file indicato, con possibilità di append.
write(int c)Scrive un singolo carattere.
write(String str)Scrive una stringa completa.
write(char[] cbuf)Scrive un array di caratteri.
flush()Forza la scrittura di tutti i dati nel file.
close()Chiude il writer e rilascia le risorse.

ESEMPIO

import java.io.FileWriter;
import java.io.IOException;
 
public class Main {
    public static void main(String[] args) {
        try {
            // Crea un FileWriter in modalità append
            FileWriter writer = new FileWriter("output.txt", true);
 
            writer.write("Ciao, mondo!\n");
            writer.write("Scrittura con FileWriter.\n");
 
            writer.flush(); // Forza la scrittura immediata
            writer.close(); // Chiude il file
 
            System.out.println("Scrittura completata con successo.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}