45.    Writer (clase abstracta) java.io.Writer

Madre de un conjunto de clases para escribir ficheros carácter a carácter.

Java convierte los caracteres unicode en bytes para guardar en el fichero. Vea "codificación de los caracteres".

La clase derivada más habitual es

java.io.FileWriter

FileWriter(File file) 

constructor

FileWriter (File file, boolean append)    

constructor: añade al final

FileWriter (String nombre)

constructor

FileWriter (String nombre, boolean append)

constructor: añade al final

 

Todas las clases derivadas de Writer proporcionan estos métodos:

java.io.Writer

Writer append(char c)

añade un carácter al final del fichero

void close()

cierra el fichero, asegurando que todo queda bien escrito en el fichero en disco

void flush()

asegura que todos los caracteres quedan bien escritos en el disco, sin cerrar el fichero

void write(char[] chars)

escribe en el fichero el array de caracteres

void write(char[] chars,

           int start,

           int n)

escribe 'n' caracteres en el fichero, concretamente, los del array 'chars', empezando en la posición 'start'.

void write(String s)

escribe en el fichero la cadena 's'

void write(String s,

           int start,

           int n)

escribe 'n' caracteres en el fichero, concretamente, los de la cadena 's', empezando en la posición 'start'.

 

Ejemplo de uso:

    /**

     * Escritura de caracteres en ficheros.

     *

     * @param fichero nombre del fichero al que queremos escribir.

     * @param chars   caracteres que queremos mandar al fichero.

     * @throws IOException salta si hay problemas

                           al abrir o al escribir.

     */

    public void escribeCaracteres(String fichero, char[] chars)

            throws IOException {

        Writer os = new FileWriter(fichero);

        os.write(chars);

        os.close();

    }           

 

OutputStream escribe caracteres (16 bits). Si necesita escribir bytes (8 bits), debe utilizar la clase OutputStream.

Ver PrintWriter, File, OutputStream, Reader.

Temas relacionados

Las Bibliotecas de Java
PrintWriter (clase) java.io.PrintWriter