Introduccion A Archivos en Java
Introduccion A Archivos en Java
Introduccion A Archivos en Java
“2°G”
PROGRAMACIÓN ORIENTADA A
OBJETOS
- UNIDAD 6: Archivos -
Presenta:
Ana Yunuen Hinojosa González - 12650171
Junio 2013
*Contenido:
6.1-Archivos (concepto y clasificación) 3
6.2-La clase File 4
(ejemplos de la clase File) 5
6.3-Apertura de Archivos 7
6.4-Excepciones de Archivos 8
6.5-Operaciones con Archivos y Mantenimiento 10
6.6-Archivos Secuenciales………………………………………………………………………………………………………..11
6.7-Archivos Directos……………………………………………………………………………………………………………….12
Bibliografía………………………………………………………………………………………………………………………………13
Definición de Archivo:
Los archivos de datos son un conjunto de datos estructurados que se tratan como
una unidad y se encuentran almacenados en un dispositivo de almacenamiento
externo.
Los archivos permiten el almacenamiento permanente y la manipulación de un
gran número de datos.
Clasificación:
En los archivos de datos se pueden destacar dos organizaciones fundamentales:
secuencia/ y la directa o aleatoria, siendo posible trabajar en Java con ambos
tipos de organizaciones.
Organización Secuencia:
La organización secuencia/ implica que los datos se almacenan
consecutivamente en el soporte externo, no siendo posible acceder
directamente a un determinado dato si no se recorren todos los anteriores.
Organización Directa:
La organización directa permite el posicionamiento directo en un determinado
lugar de un archivo para leer la información allí almacenada y no obliga al
almacenamiento de la misma en forma secuencial. Además, a diferencia de la
secuencial, la organización directa permite modificar un dato previamente
almacenado, eliminarlo o insertar uno nuevo en cualquier posición del archivo sin
que sea necesario efectuar una copia de todo el archivo cada vez
que se realiza una de estas operaciones.
La Clase File
Los objetos de la clase File no especifican cómo se almacena o recupera la
información en un archivo, sólo describen las propiedades del mismo y permiten
obtener información sobre él.
Ejemplos
//ruta relativa, el directorio actual
File arch = new File ("ejemplo.dat");
/ * ruta absoluta, en el siguiente caso especifica el
directorio
raiz en Windows que utiliza un separador ( \ ) distir.-
to de ünix (/ ) * /
File arch = new File (“\ \ ' I , "ejemplo.dat");
File arch = new File("/", "ejemplo.dat");
Contenido de un Subdirectorio:
Ejemplo File:
Ejemplo File:
APERTURA DE ARCHIVOS
Para crear, escribir o leer un archivo se requiere establecer un flujo a/desde él; las
clases capaces de crear un flujo de un archivo requieren una referencia a un
objeto File o un nombre de archivo como argumento. Estas clases son:
La subclase FileOutputCtream hereda de OutputCtream y
permite crear un flujo de salida para escribir bytes en un archivo. Los
constructores son:
Ejemplo:
Fileoutputstream f1= new FileOutputCtream("info.txt");
fl.close();
f2. Close();
public FileInputStream()java.io.File f i l e )
public FileInputCtream(java.lang.String nombre)
EXCEPCIONES EN ARCHIVOS
Cuando se trabaja con archivos se pueden producir errores de entrada/salida y
Java obliga a prever este tipo de errores y recoger las excepciones que pueda
lanzar el sistema.
Cuando el programador diseña un método tiene dos opciones con este tipo de
excepciones: listarías en la cabecera del mismo o bien recogerlas y tratarlas. Si
está sobrescribiendo un método del que no puede modificar la interfaz, se verá
obligado a recoger estas excepciones y tratarlas en el propio método.
Las excepciones en el trabajo con archivos pueden ser lanzadas por los métodos
de escritura y lectura, pero además hay que tener en cuenta que la apertura de un
archivo puede producir una excepción IOException cuando falla la operación;
por ejemplo, si se intenta abrir para lectura un archivo que no existe, y el cierre de
un archivo con el método close también puede producir una IOException.
Por otra parte, los archivos en Java terminan con una marca de fin de archivo y
cuando en la lectura de un archivo se llega a dicha marca se puede lanzar una
Exception.
Ejemplo:
Capturar y tratar las excepciones en la apertura y cierre de un archivo.
public class ControlExcepciones
{
public static void main (String [] args)
{
AbreYCierra arch = new AbreYCierra ( );
arch. leer ( );
import java.io.*;
public class AbreYCierra
{
FileInputStream fl= null;
public void leer0
{
File f = new File("texto.txt");
F1 = new FileInputCtream(f);
{
catch(IOException e)
}
System.out.println(e);
}
finally
{
try
if (fl! = null)
fl.close();
}
catch(IOException e)
System.out.println (e);
}
System.out.println(e);
System.out.println(“Final”);
}
}
Las operaciones con archivos son aquellas que tratan con su propia estructura,
tales como la creación, apertura o cierre de los mismos y que son proporcionadas
por el lenguaje, en este caso Java. Además de utilizar este tipo de operaciones al
trabajar con archivos, será necesario diseñar métodos que efectúen tareas de
mantenimiento.
Actualización:
Altas. Operación de incorporar al archivo un nuevo registro.
Bajas. Acción de eliminar un registro de un archivo. Las bajas pueden ser de dos
tipos:
Consulta:
-De un único registro.
-De todos los registros del archivo.
ARCHIVOS SECUENCIALES
En los archivos secuenciales los registros se almacenan unos al lado de otros
sobre el soporte externo y se pueden designar por números enteros consecutivos;
sin embargo, estos números de orden no se pueden utilizar como funciones de
acceso y para realizar el acceso a un registro resulta obligatorio pasar por los que
le preceden.
Además, este tipo de archivos no pueden abrirse simultáneamente para lectura y
escritura y terminan con una marca de final de archivo.
Los archivos secuenciales en Java se pueden abrir para lectura con:
FileInputStreamFileReader
Y para escritura:
FileOutputStreamFilewriter
Un caso particular de archivos secuenciales son los archivos de texto, que están
formados por una serie de líneas cada una de las cuales se encuentra constituida
por una serie de caracteres y separadas por una marca de final de línea.
ARCHIVOS DIRECTOS
Los registros en un archivo de acceso directo han de ser de longitud fija. En un
archivo directo, el orden físico de los registros no tiene por qué corresponderse
con aquel en el que han sido introducidos, y los registros son accesibles
directamente mediante la especificación de un número que indica la posición del
registro con respecto al origen del archivo. Los archivos directos, también
denominados aleatorios, se abren para lectura y escritura al mismo tiempo.
En Java RandomllccessFile es la clase que permite la apertura de archivos de
acceso directo y ofrece el método seek (posición) para el posicionamiento sobre
un determinado registro del archivo.