ficheros en java

20
FICHEROS EN JAVA

Upload: pablo-rh

Post on 20-Jun-2015

758 views

Category:

Education


6 download

DESCRIPTION

Un fichero permite almacenar datos en memoria secundaria para utilizarlos en el futuro

TRANSCRIPT

Page 1: Ficheros en java

FICHEROS EN JAVA

Page 2: Ficheros en java

INTRODUCCIÓN

• Un fichero permite almacenar datos en memoria secundaria para utilizarlos en el futuro

• 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

Page 3: Ficheros en java

FLUJOS DE ARCHIVOS

• Otra forma de manipulación de manipulación de archivos es tratándolos como flujos continuos de bytes.Cada archivo entonces seria una cinta con la secuencia de información para un archivo dado.

• A diferencia del acceso aleatorio, en estos se presenta un acceso secuencial.

Page 4: Ficheros en java

FLUJOS DE OBJETOS

• Es posible escribir y leer objetos de un flujo de cualquier clase. Las clases ObjectInputStream y ObjectOutputStream permiten hacer este tipo de procesos.

Page 5: Ficheros en java

Clases Para Flujos De Entradas

Se utilizan para leer datos de una fuente de entrada (archivo, cadena o memoria)

• Flujo de bytes: InputStream, BufferedInputStrem, DataInputStream, FileInputStream

• FLUJO DE CARACTERES: Reader, BuffeeReader, FileReader

Page 6: Ficheros en java

Clases Para Flujo De Salida

Son homólogas a las clases de flujo de entrada y se utilizan para enviar flujos de datos a dispositivos de salida

• Flujo de bytes: OutputStream, PrintStream, BufferedReaderOutputStream, DataOutputStream y FileOutputStream.

• FLUJO DE CARACTERES: Writer, PrintWriter, FileWriter

Page 7: Ficheros en java

CARACTERÍSTICA PRINCIPAL DE LOS ARCHIVOS

• Es el Nombre y su extensiónEl nombre es la identificación del archivo y su extensión indica el tipo de archivo al que corresponde, la extensión generalmente es de tres caracteres, por ejemplo:

• Nombre.doc es que un archivo tipo documento (de Microsoft Word)

• Nombre.xls es un archivo de hoja de cálculo (Microsoft Excel)

• Nombre.txt es un archivo de texto

Page 8: Ficheros en java

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 escribe en el fichero sin saltar de línea

println escribe en el fichero y añade un salto de línea

Page 9: Ficheros en java

La Clase PrintWriter

• 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

Page 10: Ficheros en java

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

Page 11: Ficheros en java

La Clase PrintWriter

Escritura en un fichero de texto

PrintWriter fichero = new PrintWriter(“Nombres.txt");

fichero.println("Juan");

fichero.println("Jesús");

fichero.println("Miguel");

fichero.close();

Page 12: Ficheros en java

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)

Page 13: Ficheros en java

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

Page 14: Ficheros en java

La Clase File

Lectura de un fichero de texto

File fichero = new File(“Nombres.txt");

Scanner datosFichero = new Scanner(fichero);

while (datosFichero.hasNext())

System.out.println(datosFichero.nextLine());

datosFichero.close();

Page 15: Ficheros en java

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

Page 16: Ficheros en java

La Clase File

Lectura de un fichero de texto

File fichero = new File(“Nombres.txt");

if (fichero.exists()) {

Scanner datosFichero = new Scanner(fichero);

while (datosFichero.hasNext())

System.out.println(datosFichero.nextLine());

datosFichero.close();

}

else

System.out.println("Error fichero no existe !!!");

Page 17: Ficheros en java

Las Clases FileInputStream Y FileOutputStream

• Gran parte de la entrada y salida de los programas se realiza basándose en archivos y para ello java.io aporta dos clases. Una para ficheros de entrada, FileInputStream, y otra para ficheros de salida, FileOutputStream. La diferencia entre ficheros de entrada y de salida es fundamental, pues situaciones como intentar leer de un fichero de salida o viceversa pueden generar en errores.

Page 18: Ficheros en java

Las Clases ObjectInputStream Y ObjectOutputStream

• Son filtros de secuencia que permiten leer y escribir objetos de una corriente de datos orientada a bytes. Solo tiene sentido si los datos almacenados son objetos.

• El método readObject devuelve un object de los datos de la entrada.

• Para controlar las excepciones mediante try catch, opcionalmente podemos controlar mediante throws Exception en la función que usaremos

Page 19: Ficheros en java

Clases De Archivo

• File y RandomAccesFile (mayor control sobre los archivos)

Page 20: Ficheros en java

La Clase RandomAccesFile

• Los archivos de acceso aleatorio se caracterizan por que es posible mover el apuntador de archivo a cualquier posición dentro del mismo y efectuar operaciones de escritura y lectura a la vez. La forma general de construcción es:

RandomAccesFile arch=new RandomAccesFile(String nombre, String modo);

RandomAccesFile arch=new RandomAccesFile(File obj, String modo);