Download 05 Gestion de ficheros de texto en Java
Document related concepts
no text concepts found
Transcript
Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática Fundamentos de la informática 5. Gestión de ficheros de texto en Java Contenido Introducción La clase PrintWriter La clase File Gestión de ficheros de texto en Java 2 Introducción Ficheros de datos Un fichero permite almacenar datos secundaria para utilizarlos en el futuro en memoria Un fichero puede ser de entrada (input) o salida (output) dependiendo de si se utiliza para leer o escribir datos En Java existen dos tipos de ficheros: ficheros binarios y ficheros de texto La clase PrintWriter se utiliza para escribir en ficheros de texto. La clase File se utiliza para leer ficheros de texto Gestión de ficheros de texto en Java 3 La clase PrintWriter La clase PrintWriter de la librería java.io Para usar la clase PrintWriter es necesario incluir la librería Input-Output de Java import java.io.*; La clase PrintWriter permite escribir en un fichero con los métodos print y println print println escribe en el fichero sin saltar de línea escribe en el fichero y añade un salto de línea Gestión de ficheros de texto en Java 4 La clase PrintWriter La clase PrintWriter de la librería java.io Para escribir en un fichero de texto, es necesario crear un objeto de tipo PrintWriter PrintWriter fichero = new PrintWriter("Calificaciones.txt"); Si el nombre del fichero existe, al crear el objeto el contenido del fichero se borrará Antes de escribir datos en un fichero de texto es necesario abrirlo, a continuación escribir en él y, finalmente, cerrarlo Gestión de ficheros de texto en Java 5 La clase PrintWriter Escritura en un fichero de texto Para escribir en un fichero de texto: 1. Abrir el fichero con un objeto de la clase PrintWriter 2. Escribir los datos en el fichero utilizando los métodos print y println 3. Cerrar el fichero Gestión de ficheros de texto en Java 6 La clase PrintWriter Escritura en un fichero de texto PrintWriter fichero = new PrintWriter("MisAmigos.txt"); fichero.println("Juan"); fichero.println("Jesús"); fichero.println("Miguel"); fichero.close(); Gestión de ficheros de texto en Java 7 La clase File La clase File y la clase Scanner Para leer de un fichero de texto se utiliza la clase File y la clase Scanner Para leer los datos almacenados en el fichero es necesario utilizar un bucle. Normalmente se utiliza el while hasta que se llega al final del fichero (eof) En Java, para detectar el final de un fichero se usa el método hasNext() de la clase Scanner. Este método devuelve false cuando se llega al final del fichero (eof) Gestión de ficheros de texto en Java 8 La clase File Lectura de un fichero de texto Para leer la información almacenada en un fichero de texto: 1. Abrir el fichero con un objeto de la clase File y vincularlo con un objeto de la clase Scanner 2. Leer el fichero 3. Cerrar el fichero Gestión de ficheros de texto en Java 9 La clase File Lectura de un fichero de texto File fichero = new File("MisAmigos.txt"); Scanner datosFichero = new Scanner(fichero); while (datosFichero.hasNext()) System.out.println(datosFichero.nextLine()); datosFichero.close(); Gestión de ficheros de texto en Java 10 La clase File ¿Cómo saber si el fichero existe? Cuando Java intenta abrir un fichero que no existe se produce un error de ejecución (Java exception) Para evitar que el programa se interrumpa de forma no controlada al intentar abrir un fichero que no existe, es necesario realizar una comprobación previa El método exists() verifica si existe o no el fichero. Devuelve false si el fichero no existe Gestión de ficheros de texto en Java 11 La clase File Lectura de un fichero de texto File fichero = new File("MisAmigos.txt"); if (fichero.exists()) { Scanner datosFichero = new Scanner(fichero); while (datosFichero.hasNext()) System.out.println(datosFichero.nextLine()); datosFichero.close(); } else System.out.println("El fichero no existe !!!"); Gestión de ficheros de texto en Java 12