Manejo de Ficheros en JAVA

18
CREACIÓN, LECTURA Y ESCRITURA DE FICHEROS EN JAVA. Manejo de Ficheros en JAVA JOSÉ LUIS REDONDO GARCÍA. GRUPO QUERCUS ENGINEERING SOFTWARE, UEX

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

Page 1: 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

Page 2: Manejo de Ficheros  en JAVA

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.

Page 3: Manejo de Ficheros  en JAVA

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.*;

Page 4: Manejo de Ficheros  en JAVA

4

Introducción

Stream de Entrada:

Stream de Salida:

Page 5: Manejo de Ficheros  en JAVA

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.

Page 6: Manejo de Ficheros  en JAVA

6

Paquete java.io (II)

Page 7: Manejo de Ficheros  en JAVA

7

Paquete java.io (III)

Page 8: Manejo de Ficheros  en JAVA

8

Paquete java.io (III)

Page 9: Manejo de Ficheros  en JAVA

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.

Page 10: Manejo de Ficheros  en JAVA

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;

Page 11: Manejo de Ficheros  en JAVA

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

Page 12: Manejo de Ficheros  en 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.

Page 13: Manejo de Ficheros  en JAVA

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.

Page 14: Manejo de Ficheros  en JAVA

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;

Page 15: Manejo de Ficheros  en JAVA

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

Page 16: Manejo de Ficheros  en JAVA

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.

Page 17: Manejo de Ficheros  en JAVA

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:

Page 18: Manejo de Ficheros  en JAVA

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: