Escritura en un fichero de texto

El siguiente código escribe un fichero de texto desde cero. Pone en él 10 líneas


import java.io.*;

public class EscribeFichero
{
    public static void main(String[] args)
    {
        try
        {
            FileWriter fichero = new FileWriter("prueba.txt");
            PrintWriter pw = new PrintWriter(fichero);
            for (int i = 0; i < 10; i++)
                pw.println("Linea " + i);
            pw.close();
        } catch (Exception e)
        {
            e.printStackTrace();
        }
    }

}

Si queremos añadir al final de un fichero ya existente, simplemente debemos poner un flag a true como segundo parámetro del constructor de FileWriter.

FileWriter fichero = new FileWriter("prueba.txt",true);
Read More

Leer un fichero

Para leer un fichero de texto en java línea a línea, podemos hacerlo así

import java.io.*;

class LeeFichero {
public static void main(String [] arg) {
File archivo = null;
                FileReader fr = null;
try {
                        archivo = new File ("archivo.txt");
String linea;
fr = new FileReader (archivo);
BufferedReader br = new BufferedReader(fr);
while((linea=br.readLine())!=null)
System.out.println(linea);

}
catch(IOException e){
                    System.out.println(e);
                }finally{
                        try{
                             if( fr != null){
                                fr.close();
                             }
                           }catch (IOException e){
                             System.out.println(e);
                           }
                 }
}
}

Ha que considerar que el bloque finally se ejecuta siempre, por eso, si se cierra el fichero al final del primer try, y ha dado un error antes, pasaría
al primer catch y luego saldría, dejándolo abierto. Es conveniente cerrarlo aquí, comprobando que no sea por un error anterior, como no tener permisos de lectura o que no exista – de valor null.

Read More