La classe Writer è la superclasse astratta per tutte le classi che scrivono flussi di caratteri in Java e definisce l’interfaccia di base per la scrittura di dati testuali. Non può essere istanziata direttamente, ma viene estesa da classi concrete come FileWriter, BufferedWriter.

Package: java.io


CARATTERISTICHE PRINCIPALI

Classe astratta. Fornisce metodi per scrivere caratteri, array di caratteri e stringhe. Può essere estesa per creare writer specializzati. Supporta la scrittura sincrona (senza Buffer, a meno che non venga estesa). Ha metodi per scrivere, chiudere, e svuotare (flush) il flusso.


METODI PRINCIPALI

MetodoDescrizione
write(int c)Scrive un singolo carattere.
write(char[] cbuf)Scrive un array di caratteri completo.
write(char[] cbuf, int off, int len)Scrive una porzione di array di caratteri.
write(String str)Scrive una stringa.
write(String str, int off, int len)Scrive una porzione di stringa.
flush()Svuota il buffer e forza la scrittura fisica.
close()Chiude lo stream e rilascia le risorse.

ESEMPIO

import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
 
public class WriterExample {
    public static void main(String[] args) {
        try (Writer writer = new FileWriter("output.txt")) {
            writer.write("Ciao, mondo!");
            writer.flush();  // Assicura che tutto sia scritto su file
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

FileWriter estende Writer