Manejo de Ficheros en JAVA

Post on 07-Feb-2016

36 views 0 download

description

Manejo de Ficheros en JAVA. Creaci ón, Lectura y ESCRITURA de Ficheros en Java. José Luis Redondo García. Grupo Quercus Engineering Software, UEX. Índice. I ntroducción . Paquete java.io .*: 2.1. Byte streams . 2.2. Char streams . Tratamiento convencional de ficheros. - PowerPoint PPT Presentation

Transcript of Manejo de Ficheros en JAVA

CREACIÓN, LECTURA Y ESCRITURA DE FICHEROS EN JAVA.

Manejo de Ficheros en JAVA

JOSÉ LUIS REDONDO GARCÍA. GRUPO QUERCUS ENGINEERING SOFTWARE,

UEX

2

Índice

Introducción.Paquete java.io.*:

2.1. Byte streams. 2.2. Char streams.

Tratamiento convencional de ficheros. Procesado de tokens. Acceso directo a ficheros.

3. E/S estándar.4. Serialización.5. Ejemplos y Ejercicios.

3

Introducción

La E/S en Java se gestiona mediante streams.Por un stream (canal o flujo) fluye la

información desde un origen hacia un destino: Se lee o crea desde el origen. Se escribe o envía hacia el destino.

Los streams se manejan de forma independiente del origen y destino concretos.

También existen clases para E/S de ficheros no orientadas a streams.

Se definen en la librería java.io.*;

4

Introducción

Stream de Entrada:

Stream de Salida:

5

Paquete java.io (I)

El paquete java.iose encuentra organizado en las siguientes jerarquías de clases: Streams orientados a bytes. Streams orientados a chars. Tratamiento convencional de ficheros. Procesado de tokens. Acceso directo a ficheros.

6

Paquete java.io (II)

7

Paquete java.io (III)

8

Paquete java.io (III)

9

Byte streams (I)

Operan con bytes(8 bits).La lectura se define en la clase InputStream,

mientras que la escritura se define en la clase OutputStream.

Estas clases son abstractas.Sus herederas definen fuentes y destinos de datos

concretas.Se dividen en dos grupos:

E/S básica E/S filtrada.

10

Byte streams (II)

Métodos de lectura (InputStream): int read(); int read(byte[] b); int read(byte[] b, int off, int len);

Métodos de escritura (OutputStream): void write(intb); void write(byte[] b); void write(byte[] b, int off, intlen);

•Apertura con el constructor.•Cierre con el método:

public void close() throws IOException;

11

Byte streams (III)

Filtros: Clases para filtrar la información en los streams. Heredan de FilterInputStream o FilterOutputStream. Se usan asociándolas con un stream básico.

Ejemplos: FileInputStreamTest.java, FileOutputStreamTest.java ByteArrayInputStreamTest.java DataInputStreamTest.java, PrintStreamTest.java

12

Char Streams (I)

Operan con chars (16 bits).La lectura se define en la clase Reader,

mientras que la escritura se define en la clase Writer.

Estas clases son abstractas.Sus herederas definen fuentes y destinos de

datos concretas.Se dividen en dos grupos:

E/S básica E/S filtrada.

13

Char Streams (I)

Operan con chars (16 bits).La lectura se define en la clase Reader,

mientras que la escritura se define en la clase Writer.

Estas clases son abstractas.Sus herederas definen fuentes y destinos de

datos concretas.Se dividen en dos grupos:

E/S básica E/S filtrada.

14

Char Streams (II)

Métodos de lectura (Reader): int read(); int read(char[] b); int read(char[] b, int off, intlen);

Métodos de escritura (Writer): void write(intc); void write(char[] b); void write(char[] b, int off, intlen);

Apertura con el constructor.Cierre con el método:

public void close() throws IOException;

15

Char Streams (III)

Filtros: Clases para filtrar la información en los streams. Heredan de FilterReader o FilterWriter. Se usan asociándolas con un streambásico.

Ejemplos: FileReaderTest.java, FileWriterTest.java Cat.java AppletFile.java, AppletFile.htm

16

Tratamiento de Ficheros

Clase File: Permite el acceso convencional a los ficheros. Incluye métodos para el tratamiento de los atributos.

Clase FileDescriptor: Clase que representa un handler(manejador) de un

descriptor de un fichero del Sistema Operativo. Representa a un fichero abierto, e incluye su estado. Su uso es casi automático.

Ejemplos: Attr.java: Información sobre atributos de ficheros. Dir.java: Directorio recursivo.

17

Procesado de Tokens

Clase StreamTokenizer: Permite el tratamiento de tokens de Java desde un

streamde entrada. Se trata de un filtro.

Clase StringTokenizer: Similar a la anterior, pero toma los datos de un

String.Ejemplos:

18

Acceso directo a Ficheros

Clase RandomAccessFile: Acceso de lectura/escritura a ficheros (NO a streams).

Permite: Leer y escribir tipos primitivos de Java y arrays de

bytes en binario. Controlar la posición del puntero del fichero.

Ejemplos: