Sie sind auf Seite 1von 9

Garca Martnez Antonio de Jess Programacin Orientada a Objetos

ISC

Concepto de archivo En Java los archivos son representados por la clase File, cuyo constructor recibe la ruta (absoluta o relativa) al archivo en cuestin. Java considera a cada archivo como un flujo secuencial de bytes, proporciona un mecanismo para determinar el fi n de un archivo, como el marcador de fi n de archivo o la cuenta de bytes totales en el archivo que se registra en una estructura de datos administrativa, tambin denominado fichero, es un conjunto de datos almacenados como una unidad en un soporte fsico. Los datos almacenados en un archivo son de manera permanente de modo que pueden ser manipulados en cualquier momento. Cada archivo esta referenciado mediante un identificador nico (ruta + nombre). La clase File ofrece una variedad de mtodos, entre ellos revisar permisos y existencia del archivo. Algunos ejemplos son: boolean exists() Indica si el archivo existe o no. boolean canRead() Indica si el usuario tiene permisos de lectura sobre el archivo. boolean canWrite() Indica si el usuario tiene permisos de escritura sobre el archivo. boolean canExecute() Indica si el usuario tiene permisos de ejecucin sobre el archivo. boolean isFile() Indica si el archivo es en realidad un archivo (puede ser una carpeta). boolean isDirectory() Indica si el archivo es una carpeta (directorio) o no

Clasificacin de archivos: Definicin de Archivo de texto Son archivos que se crean usando flujos basados en caracteres codificados segn el cdigo y pueden ser ledos por cualquier editor de texto. Pueden tener extensiones txt, c, java, etc.

Garca Martnez Antonio de Jess Programacin Orientada a Objetos

ISC

Definicin de Archivo Binario


Un archivo binario es un archivo informtico que contiene informacin de cualquier tipo, codificada en forma binaria para el propsito de almacenamiento y procesamiento de ordenadores.

Clases de java para el manejo de archivos de texto y binarios.


Clases FileInputStream y FileOutputStream La clase FileInputStream se utiliza para leer bytes desde un archivo. Proporciona operaciones bsicas para leer un byte o una secuencia byte. Los constructores de la clase permiten crear objetos asociados a un archivo. FileInputStream (String nombre) throws FileNotFoundException; Crea un objeto inicializado con el objeto archivo que se pasa como argumento. FileInputStream (File nombre) throws FileNotFoundException; Crea un objeto inicializado con el objeto archivo pasado como argumento. int read() throws IOException; Lee un byte del flujo sociado. Devuelve -1 si alcanza el fin del fichero. int read(byte [] s) throws IOException; Lee una secuencia de bytes del flujo y se almacena en el array s. devuelve -1 si alcanza el fin del fichero, o bien el numero de bytes ledos. int read(byte [] s, int org, int len) throws IOException; Lee una secuencia de bytes del flujo y e almacena en el array s desde la posicion org y un mximo de 1enbytes. Devuelve -1 si alcanza el fin del fichero, o bien el numero de bytes ledos. Con la clase FileOutputStream se pueden escribir bytes en un flujo de salida asociado a un archivo. FileoOutputStream (String nombre) throws IOException; Crea un objeto inicializado con el nombre de archive que se pasa como argumento. FileoOutputStream (String nombre, Boolean sw) throws IOException;

Garca Martnez Antonio de Jess Programacin Orientada a Objetos

ISC

Crea un objeto inicializado con el nombre de archivo que se pasa como argumento. En el caso de que sw = true los bytes escritos se aaden al final. FileoOutputStream (File nombre) throws IOException; Crea un objeto inicializado con el objeto archivo pasado como argumento. void write (byte a) throws IOException; Escribe el byte a en el flujo asociado. void write (byte [] s) throws IOException; Escribe el array de bytes en el flujo. void write (byte [] s, int org, int len) throws IOException; Escribe el array s desde la posicin org y un maximo de len bytes en el flujo.

Clases ByteteArrayInputStream y ByteArrayOutputStream


Las clases ByteteArrayInputStream y ByteArrayOutputStream permiten asociar un flujo con un array de bytes, en vez de un archivo. Un objeto stream de entrada lee del array, y que un objeto stream de salida escribe en una array interno que crece dinmicamente. ByteteArrayInputStream (byte buffer []); Crea un objeto asociado del flujo con el array y que se pasa como argumento. int read(); Lee un byte del flujo asociado. int read (byte[] s, int org, int len); Lee una secuencia de bytes del flujo y se almacena en el array s; org es la posicin a partir de la cual se almacena; len es el maximo nmero de bytes a leer. Los mtodos ms importantes de la clase ByteArrayOutputStream. Estos mtodos sirven para escribir bytes en el flujo y tambin para recuperar los bytes del flujo como una cadena. ByteArrayOutputStream(); Crea un objeto flujo para escribir bytes. void write (int c); Escribe c en el flujo.

Garca Martnez Antonio de Jess Programacin Orientada a Objetos

ISC

void write (byte[] s, int org, int len); Escribe una secuencia de len bytes a partir de la posicin org del array s. String toString (); Devuelve una cadena con los caracteres del flujo.

Clases PipeInputStream y PipeOutputStream


Se utilizan para transferir datos entre tareas (threads) sincronizadas. Permite a dos traeas comunicarse mediante llamadas a los mtodos de escritura y lectura. Se ha definir un objeto stream de tipo PipeInput y tro objeto flujo de tipo PipeOut. Para enviar datos a una tarea, el objeto flujo de salida invoca a la operacin write (). La tarea que recibe datos los captura a travs del objeto flujo de entrada, llamado a mtodos de lectura, read () y receive (). Ambas clases tienen el mtodo constructor al que se le pasa como argumento el objeto pipe de la otra clase.

CLASES FILTRO
Los flujos filtro tambin leen secuencia de bytes, pero organizan internamente estas secuencias para formar datos de los tipos primitivos (int, long, double, etc.). Los stream filtro son una abstraccin de las secuencias de bytes para hacer procesos de datos a mas alto nivel.

Clases DataInputStream y DataOutputStream


Las clases para entrada, DataInputStream, filtra una secuencia de bytes, los organiza, para poder realizar lecturas de tipos de datos primitivos ddirectamente: char, byte, short, int, long, float, doubl, boolean. Un objeto de esta clase lee de un flujo de entrada de bajo nivel (flujo e bytes) al que est asociado. La asociacin se realiza al crear el objeto. FileInputStream gs = new FileInputStream (nube.dat); DataInputStream ent = new DataInputStream (gs); Mtodos importantes de esta clase. public DataInputStream (DataInputStream entrada) Crea un objeto asociado con cualquier objeto de entrada pasado como argumento.

Garca Martnez Antonio de Jess Programacin Orientada a Objetos

ISC

public final boolean readBoolean () throws IOException Devuelve el valor de tipo Boolean ledo. public final byte readByte () throws IOException Devuelve el valor de tipo Byte ledo. public final short readShort () throws IOException Devuelve el valor de tipo short ledo. public final char readChar () throws IOException Devuelve el valor de tipo Char ledo. public final int readInt () throws IOException Devuelve el valor de tipo int ledo. public final long readLong () throws IOException Devuelve el valor de tipo long ledo. public final float readFloat () throws IOException Devuelve el valor de tipo float ledo. public final double readDouble () throws IOException Devuelve el valor de tipo double ledo. public final String readString () throws IOException Devuelve una cadena que se escribi en formato UTF. public final String readLine () throws IOException Devuelve la cadena leda hasta fin de lnea. El archivo que se va a leer tiene que haber sido escrito por un flujo de la clase DataOutputStream. Esta clase tambin tiene que estar asociada a un flujo de bytes. FileOutputStream fn = new FileOutputStream (nube.dat); DataOutputStream snb = new DataOutputStream (fin); Metodos importantes de DataOutputStream

Garca Martnez Antonio de Jess Programacin Orientada a Objetos

ISC

public DataOutputStream (OutputStream destino) Crea un objeto asociado con cualquier objeto de salida pasado como argumento. public final void writeBoolean (boolean v) throws IOException Escribe el dato de tipo boolean v. public final void writeByte (int v) throws IOException Escribe el dato v como un byte. public final void writeShort (int v) throws IOException Escribe el dato v como un short. public final void writeChar (int v) throws IOException Escribe el dato v como un caracter. public final void writeInt (int v) throws IOException Escribe el dato de tipo int v. public final void writeIong (int v) throws IOException Escribe el dato de tipo long v. public final void writeFloat (int v) throws IOException Escribe el dato de tipo float v. public final void writeDouble (int v) throws IOException Escribe el dato de tipo double v. public final void writeUTF (int v) throws IOException Escribe el dato de tipo UTF.

Clase PrintStream
Esta clase deriva directamente de FilterOutputStream, por lo que tiene que estar asociada a un flujo de bytes para salida. Los mtodos de esta clase estn sobrecargados (mismo nombre) para poder escribir desde cadenas hasta cualquiera de los datos primitivos. Define mtodos para que despus de escribir un dato se aada la marca de fin de lnea. public PrintStream (OutputStream destino) Crea un objeto asociado con cualquier objeto de salida pasado como argumento.

Garca Martnez Antonio de Jess Programacin Orientada a Objetos

ISC

public PrintStream (OutputStream destino boolean flag) Crea un objeto asociado con objeto de salida pasado como argumento y si el Segundo argumento es true se produce un automtico volcado al escribir el fin de lnea. Mtodos: public void flush () Vuelca el flujo actual. public void print (Object obj) Escribe la representacin del objeto obj en el flujo. public void print (String cad) Escribe la cadena en el flujo. public void print (char c) Escribe el carcter c en el flujo. Los mismos para Datos primitivo. public void printLn (Object obj) Escribe la representacin del objeto obj en el flujo y la marca fin de lnea. public void printLn (String cad) Escribe la cadena en el flujo y la marca fin de lnea. public void printLn (char c) Escribe el carcter c en el flujo y la marca fin de lnea. Clase file Define mtodos para conocer propiedades del archivo (permiso de acceso, tamao, etc); tambin mtodos para modificar alguna caracterstica del archivo. Los constructores de File permite inicializar el objeto con el nombre de un archivo y la ruta donde se encuentra. Tambin inicializar el objeto con otro objeto File como ruta y el nombre del archivo. public File (String nombreCompleto) Crea un objeto File con el nombre y ruta del archivo pasado como argumento

Garca Martnez Antonio de Jess Programacin Orientada a Objetos

ISC

public File (String ruta, String nombre) Crea un objeto File con la ruta y el nombre del archivo pasado como argumento public File (File ruta, String nombre) Crea un objeto File con un primer argumento que a su vez es un objeto File con la ruta y el nombre del archivo como segundo argumento Fuente: DEITEL, PAUL J. Y HARVEY M. DEITEL CMO PROGRAMAR EN JAVA. Sptima edicin PEARS ON EDUCACIN Programacin en Java2 Algoritmos, Estructura de Datos y POO Luis Joyanes Aguilar, Ignacio Zahonero Martnez. Mc Graw Hill.

Garca Martnez Antonio de Jess Programacin Orientada a Objetos

ISC