Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


transparencias tema 9, Apuntes de Informática

Asignatura: programacion, Profesor: angel olaya, Carrera: Ingeniería en Informática, Universidad: UC3M

Tipo: Apuntes

Antes del 2010

Subido el 21/10/2007

rayista
rayista 🇪🇸

4

(8)

9 documentos

1 / 24

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
1
Ficheros
TEMA 9
Manuel Pereira González
V1.0
Agenda
Introducción
Conceptos Básicos de Ficheros
Operaciones sobre ficheros
Tipos de fichero
Ficheros en Java
Conceptos Básicos de Entrada/Salida
Ficheros Binarios
Ficheros de Tipos Primitivos
Ficheros de Texto
Ficheros de Acceso Aleatorio
Serialización
Algoritmos sobre Ficheros
Resumen
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18

Vista previa parcial del texto

¡Descarga transparencias tema 9 y más Apuntes en PDF de Informática solo en Docsity!

Ficheros

TEMA 9

Manuel Pereira González V1.

Agenda

ƒ Introducción ƒ Conceptos Básicos de Ficheros ƒ Operaciones sobre ficheros ƒ Tipos de fichero ƒ Ficheros en Java ƒ Conceptos Básicos de Entrada/Salida ƒ Ficheros Binarios ƒ Ficheros de Tipos Primitivos ƒ Ficheros de Texto ƒ Ficheros de Acceso Aleatorio ƒ Serialización ƒ Algoritmos sobre Ficheros ƒ Resumen

Introducción: Conceptos

Básicos de Ficheros

ƒ Estructuras de Datos estudiadas: ƒ Tipos: Arrays, Listas, etc. ƒ Almacenadas en memoria principal (RAM) ƒ Rápida ƒ Volátil ƒ Tamaño Limitado ƒ Para tratar grandes volúmenes de información es necesario almacenarla en memoria secundaria (Disco Duro, CD-ROM, Disquete, Disco USB, etc.) ƒ Los datos agrupados en estructuras denominadas archivos o ficheros (File en inglés)

Introducción: Conceptos

Básicos de Ficheros

ƒ Un archivo o fichero es una colección de datos homogéneos almacenados en un soporte físico del computador que puede ser permanente o volátil. ƒ Datos homogéneos : Almacena colecciones de datos del mismo tipo (igual que arrays/vectores) ƒ Cada elemento almacenado en un fichero se denomina registro , que se compone de campos. ƒ Puede ser almacenado en diversos soportes (Disco duro, disquete, …)

Introducción: Operaciones

sobre Ficheros

ƒ Tipos de operaciones ƒ Operación de Creación ƒ Operación de Apertura. Varios modos: ƒ Sólo lectura ƒ Sólo escritura ƒ Lectura y Escritura ƒ Operaciones de lectura / escritura ƒ Operaciones de inserción / borrado ƒ Operaciones de renombrado / eliminación ƒ Operación de desplazamiento dentro de un fichero ƒ Operación de cierre

Introducción: Operaciones

sobre Ficheros

ƒ Operaciones para el manejo habitual de un

fichero:

ƒ 1.- Crearlo (sólo si no existía

previamente)

ƒ 2.- Abrirlo

ƒ 3.- Operar sobre él (lectura/escritura,

inserción, borrado, etc.)

ƒ 4.- Cerrarlo

Agenda

ƒ Introducción ƒ Conceptos Básicos de Ficheros ƒ Operaciones sobre ficheros ƒ Tipos de fichero ƒ Ficheros en Java ƒ Conceptos Básicos de Entrada/Salida ƒ Ficheros Binarios ƒ Ficheros de Tipos Primitivos ƒ Ficheros de Texto ƒ Ficheros de Acceso Aleatorio ƒ Serialización ƒ Algoritmos sobre Ficheros ƒ Resumen

Introducción: Tipos de

Fichero

ƒ Clasificación de los ficheros según la organización de los registros en memoria: ƒ Organización Secuencial : Registros almacenados consecutivamente en memoria según el orden lógico en que se han ido insertando. ƒ Organización Directa o Aleatoria : El orden físico de almacenamiento en memoria puede no coincidir con el orden en que han sido insertados. ƒ Organización Indexada. Dos ficheros: ƒ Fichero de datos: Información ƒ Fichero de índice: Contiene la posición de cada uno de los registros en el fichero de datos

Conceptos básicos de

Entrada/Salida

ƒ Streams : Canales, flujos de datos o “tuberías”. Entrada (InputStream) o Salida (OutputStream).

ƒ Agrupados en el paquete java.io ƒ Dos jerarquías de clases independientes, una para lectura/escritura binaria ( bytes ) y otra para lectura/escritura de caracteres de texto ( char )

Conceptos básicos de

Entrada/Salida

ƒ Streams de bytes ƒ^ Streams de caracteres

Conceptos básicos de

Entrada/Salida

ƒ Métodos básicos de Reader : ƒ int read() ƒ int read(char cbuf[]) ƒ int read(char cbuf[], int offset, int length) ƒ Métodos básicos de InputStream : ƒ int read() ƒ int read(byte cbuf[]) ƒ int read(byte cbuf[], int offset, int length)

Conceptos básicos de

Entrada/Salida

ƒ Métodos básicos de Writer : ƒ int write(int c) ƒ int write(char cbuf[]) ƒ int write(char cbuf[], int offset, int length) ƒ Métodos básicos de OutputStream : ƒ int write(int c) ƒ int write(byte cbuf[]) ƒ int write(byte cbuf[], int offset, int length) ƒ Los Streams se abren automáticamente al crearlos, pero es necesario cerrarlos explícitamente llamando al método close() cuando se dejan de usar

Conceptos básicos de

Entrada/Salida

Conceptos básicos de

Entrada/Salida

Agenda

ƒ Introducción ƒ Conceptos Básicos de Ficheros ƒ Operaciones sobre ficheros ƒ Tipos de fichero ƒ Ficheros en Java ƒ Conceptos Básicos de Entrada/Salida ƒ Ficheros Binarios ƒ Ficheros de Tipos Primitivos ƒ Ficheros de Texto ƒ Ficheros de Acceso Aleatorio ƒ Serialización ƒ Algoritmos sobre Ficheros ƒ Resumen

Ficheros Binarios

ƒ Leer/Escribir bytes en ficheros ƒ Streams de Entrada/Salida: FileInputStream / FileOutputStream

Ficheros de Tipos Primitivos

ƒ Leer/Escribir datos de tipos primitivos: int, long, float, etc. ƒ Streams de Entrada/Salida: DataInputStream / DataOutputStream

Ficheros de Tipos Primitivos

Agenda

ƒ Introducción ƒ Conceptos Básicos de Ficheros ƒ Operaciones sobre ficheros ƒ Tipos de fichero ƒ Ficheros en Java ƒ Conceptos Básicos de Entrada/Salida ƒ Ficheros Binarios ƒ Ficheros de Tipos Primitivos ƒ Ficheros de Texto ƒ Ficheros de Acceso Aleatorio ƒ Serialización ƒ Algoritmos sobre Ficheros ƒ Resumen

Ficheros de Texto

ƒ Escribir / Leer cadenas de texto ƒ Se utilizan las clases Reader / Writer ƒ PrintWriter: Hereda de Writer, permite escribir texto en un OutputStream ƒ En el constructor recibe el OutputStream a utilizar ƒ Tiene métodos para escribir en forma de texto todos los tipos básicos y los Strings. ƒ Métodos duplicados para insertar retorno de carro al final del dato escrito (print / println) ƒ PrintStream es similar a PrintWriter, pero sus métodos están deprecados (la clase no, porque todavía se usa en System.out) -> Por defecto utilizar PrintWriter que es más moderna.

Agenda

ƒ Introducción ƒ Conceptos Básicos de Ficheros ƒ Operaciones sobre ficheros ƒ Tipos de fichero ƒ Ficheros en Java ƒ Conceptos Básicos de Entrada/Salida ƒ Ficheros Binarios ƒ Ficheros de Tipos Primitivos ƒ Ficheros de Texto ƒ Ficheros de Acceso Aleatorio ƒ Serialización ƒ Algoritmos sobre Ficheros ƒ Resumen

Ficheros de Acceso

Aleatorio

ƒ Se utiliza la clase RandomAccessFile ƒ No está basada en el concepto de flujos o Streams. ƒ No deriva de InputStream/OutputStream ni Reader/Writer ƒ Permite leer y escribir sobre el fichero, no es necesario dos clases diferentes ƒ Necesario especificar el modo de acceso al construir un objeto de esta clase: sólo lectura o lectura/escritura ƒ Dispone de métodos específicos de desplazamiento como seek(long posicion) o skipBytes(int desplazamiento) para poder moverse de un registro a otro del fichero, o posicionarse directamente en una posición concreta del fichero.

Ficheros de Acceso

Aleatorio

ƒ Constructores: ƒ RandomAccessFile(File f, String modoAcceso) ƒ RandomAccessFile(String nombreArchivo, String modoAcceso) ƒ modoAcceso puede ser: “r” (sólo lectura) o “rw” (lectura y escritura). ƒ Métodos: ƒ void seek(long posicion): Sitúa el puntero de lectura/escritura en la posición indicada, desde el principio del fichero. ƒ long getFilePointer(): Devuelve la posición actual del puntero de lectura/escritura. ƒ int skipBytes(int desplazamiento): Desplaza el puntero desde la posición actual, el número de bytes indicado por desplazamiento ƒ long length(): Devuelve la longitud o tamaño del fichero en bytes

Ficheros de Acceso

Aleatorio

Serialización

Serialización

Serialización

Agenda

ƒ Introducción ƒ Conceptos Básicos de Ficheros ƒ Operaciones sobre ficheros ƒ Tipos de fichero ƒ Ficheros en Java ƒ Conceptos Básicos de Entrada/Salida ƒ Ficheros Binarios ƒ Ficheros de Tipos Primitivos ƒ Ficheros de Texto ƒ Ficheros de Acceso Aleatorio ƒ Serialización ƒ Algoritmos sobre Ficheros ƒ Resumen