Guardan caracteres alfanuméricos en un formato estándar (ASCII, UNICODE, UTF8, …)
Para trabajar con este tipo de ficheros utilizaremos las clases FileReader para leer caracteres y FileWriter para escribirlos en un fichero.
Al trabajar con lecturas o escrituras en ficheros, se pueden generar errores que hay que tener en cuenta a la hora de trabajar con Java. Son las llamadas excepciones (que veremos más adelante). Para poderlas tratar hay que poner estas operaciones dentro de bloques TRY-CATCH.
- Clase FileReader: para leer caracteres
FileNotFoundException (no existe el nombre del fichero o no es válido)
- Clase FileWriter: para escribir caracteres
IOException (el disco está lleno o protegido contra escritura)
Constructor FileReader
Métodos
Estos métodos devuelven el número de caracteres leídos o es su defecto -1 si ha llegado al final de fichero. (EOF)
Constructor FileWriter
Métodos
Ejercicio:
Leer un fichero de texto:
import java.io.*; public class LeerFichTexto { public static void main(String[] args) throws IOException { File fichero = new File("fichero1.txt");//declarar fichero FileReader fic = new FileReader(fichero); //crear el flujo de entrada int i; while ((i = fic.read()) != -1) //se va leyendo un carácter System.out.println( (char) i + "==>"+ i); fic.close(); //cerrar fichero } }
ACTIVIDAD 04 : Crea un programa que vaya leyendo de un fichero que se le pasará por la línea de comandos y visualice el contenido.
(el fichero se creará previamente en un editor de texto).
Escribir en un fichero de texto
public class EscribirFichTexto { public static void main(String[] args) throws IOException { File fichero = new File("FichTexto.txt");//declara fichero FileWriter fic = new FileWriter(fichero); //crear el flujo de salida String cadena ="Esto es una prueba con FileWriter"; char[] cad = cadena.toCharArray();//convierte un String en array de caracteres for(int i=0; i<cad.length; i++) fic.write(cad[i]); //se va escribiendo un carácter fic.append('*'); //añado al final un * fic.write(cad);//escribir un array de caracteres String c="\n*esto es lo ultimo*"; fic.write(c);//escribir un String String prov[] ={"Albacete","Avila","Badajoz","Jaén","Madrid","Toledo","Valencia","Zamora"}; fic.write("\n"); for(int i=0; i<prov.length; i++) { fic.write(prov[i]); fic.write("\n"); } fic.close(); //cerrar fichero } }
ACTIVIDAD 05 : Crea un programa que vaya escribiendo en un fichero que se le pasará por la línea de comandos. Irá escribiendo los caracteres hasta que lea el carácter \
OJO: Si el fichero ya existe, al escribir borrará todo su contenido anterior. Para que esto no ocurra al instanciar un objeto de la clase FileWriter pondremos como segundo parámetro true.
FileWriter fic=new FileWriter(fichero, true);