archivos en java

21
Archivos en Java Programación Orientada a Objetos

Upload: nessacore

Post on 22-Oct-2015

19 views

Category:

Documents


2 download

TRANSCRIPT

Archivos en JavaProgramación Orientada a Objetos

En java un archivo es un flujo de bytes almacenados en un dispositivo.

Dicho flujo es representado en java por medio de clases que forman parte del lenguaje, declarados en el paquete java.oi.*

Como ejemplo tenemor los flujos: System.in, System.out, System.err.

Flujos en Java

Se hacen a través de flujos (Streams) por medio de objetos del tipo Stream.

Estos flujos se encuentran representados: Flujos de entrada: Clase InputStream Flujos de salida: Clase OutputStream

Ambas son clases abstractas que deben redefinirse en las clases derivadas.

Entrada y salida I/O

Jerarquía

Ejemplo escritura secuencial

Métodos FileOutPutStream

Métodos FileInputStream

Lectura Secuencial

Es buena practica utilizar el constructor para los flujos de entrada y salida que utiliza un objeto del tipo File

Contiene información relacionada al archivo, como: fecha de ultima modificacion, permisos de acceso, extension, etc.

Se emplea la clase File File miArchivo=new File(“c:\datos\texto.txt”); File miArchivo=new File(“c:\datos”, “texto.txt”);

La Clase File

Acceso Aleatorio

Para hacer un acceso directo se requiere de la clase RandomAccessFile

Cuyo constructor tiene la forma:

r.- solo lectura rw lectura escritura

Acceso Aleatorio

Abrir un archivo de acceso Aleatorio

Void seek(long pos) Long length()

Otros métodos

Leer y escribir objetos a un archivo

Serialización de objetos

Para enviar objetos de un objeto a otro requiere ser reconstruido el flujo

Live Object

Serialize DeSerialize

Frozen Object Stream Live Object

Serialización ObjectOutputStream & ObjectInputStream

Trabaja como cualquier otro flujo de Streams Puede leer y escribir objetos completos desde

un archivo. ObjectOutputStream: Serializa el objeto Java

en un formato codificado de bytesy lo escribe en un ObjectOutputstream

ObjectInputStream: Lee y reconstruye el objeto a partir de la informacion codificada.

Serialization

To Write into an ObjectOutputStreamFileOutputStream out = new FileOutputStream(“afile”) ;ObjectOutputStream oos = new ObjectOutputStream(out) ;oos.writeObject(“Today”) ;oos.writeObject(new Date()) ;oos.flush() ;

To Read from an ObjectInputStreamFileInputStream in = new FileInputStream(“afile”) ;ObjectInputStream ois = new ObjectInputStream(in) ;String today = (String) ois.readObject() ;Date date = (Date) ois.readObject() ;