Está en la página 1de 8

Ibarra Hernndez Ana Karen

Programacin Orientada a Objetos Unidad IV Tarea #1

ISC

ARCHIVOS EN JAVA
En Java se considera a cada archivo como un flujo secuencial de bytes .Cada sistema operativo proporciona un mecanismo para determinar el fin de un archivo, como el marcador de fin de archivo o la cuenta de bytes totales en el archivo que se registra en una estructura de datos administrativa, mantenida por el sistema. Un programa de Java que procesa un flujo de bytes simplemente recibe una indicacin del sistema operativo cuando el programa llega al fin del flujo; el programa no necesita saber cmo representa la plataforma subyacente a los archivos o flujos. En algunos casos, la indicacin de fin de archivo ocurre como una excepcin. En otros casos, la indicacin es un valor de retorno de un mtodo invocado en un objeto procesador de flujos. Los flujos de archivos se pueden utilizar para la entrada y salida de datos, ya sea como caracteres o bytes. Los flujos que reciben y envan bytes a archivos se conocen como flujos basados en bytes, y almacenan datos en su formato binario. Los flujos que reciben y envan caracteres de los archivos se conocen como flujos basados en Caracteres, y almacenan datos como una secuencia de caracteres. ARCHIVOS DE TEXTO Son archivos que se crean usando flujos basados en caracteres. Los archivos de texto se pueden leer con editores de texto ARCHIVOS BINARIOS Son los archivos que se crean usando flujos basados en bytes. Los archivos binarios se leen mediante un programa que convierte los datos en un formato que pueden leer los usuarios. Un programa de Java abre un archivo creando un objeto y asocindole un flujo de bytes o de caracteres. Java crea tres objetos flujo que se asocian con dispositivos cuando un programa de Java empieza a ejecutarse: System.in (el objeto flujo de entrada estndar) generalmente permite a un programa recibir bytes desde el teclado. System.out (el objeto flujo estndar de salida) generalmente permite a un programa mostrar datos en la pantalla. System.err (el objeto flujo estndar de error) generalmente permite a un programa mostrar mensajes de error en la pantalla.

Ibarra Hernndez Ana Karen

Programacin Orientada a Objetos Unidad IV Tarea #1

ISC

Estos flujos pueden redirigirse. Para System.in, esta capacidad permite al programa leer bytes desde un origen distinto. Para System.out y System.err, esta capacidad permite que la salida se enve a una ubicacin distinta, como un archivo en disco. Los programas de Java realizan el procesamiento de archivos utilizando clases del paquete java.io. Este paquete incluye definiciones para las clases de flujo como: FileInputStream (para la entrada basada en bytes desde un archivo). FileOutputStream (para la salida basada en bytes hacia un archivo). FileReader (para la entrada basada en caracteres desde un archivo). FileWriter (para la salida basada en caracteres hacia un archivo).

Los archivos se abren creando objetos de estas clases de flujos, que heredan de las clases InputStream, OutputStream, Reader y Writer, respectivamente. Por lo tanto, los mtodos de estas clases de flujos pueden aplicarse a los flujos de archivos tambin. Java contiene clases que permiten al programador realizar operaciones de entrada y salida con objetos o variables de tipos de datos primitivos. Los datos se siguen almacenando como bytes o caracteres, lo cual permite al programador leer o escribir datos en forma de enteros, cadenas u otros tipos de datos, sin tener que preocuparse por los detalles acerca de convertir dichos valores al formato de bytes. Para realizar dichas operaciones de entrada y salida, pueden usarse objetos de las clases ObjectInputStream, y ObjectOutputStream junto con las clases de flujos de archivos basadas en bytes FileInputStream y FileOutputStream.

CLASES: FileInputStream Se pueden escribir bytes en un flujo de salida asociado un archivo. Los constructores inicializan objetos con el nombre del archivo, o bien con el archivo como objeto File. FileInputStream (String nombre) throws FileNotFoundException; //Crea un objeto inicializado con el nombre de archivo que se pasa como argumento.

Ibarra Hernndez Ana Karen

Programacin Orientada a Objetos Unidad IV Tarea #1

ISC

FileInputStream (File nombre) throws FileNotFoundException; //Crea un objeto inicializado con el nombre de archivo que se pasa como argumento. int read () throws IOException; //Lee un byte del flujo asociado. Devuelve -1 si alcanza el fin del archivo. int read (byte [] s ) throws IOException; //Lee una secuencia de byte del flujo y se almacena en el array s. Devuelve -1 si alcanza el fin del archivo o bien el nmero de bytes ledos. int read (byte [] s, int org, int len) throws IOException; //Lee una secuencia de byte del flujo y se almacena en el array s desde la posicin org y un mimo de len bytes. Devuelve -1 si alcanza el fin del archivo o bien el nmero de bytes ledos. FileOutputStream Se utiliza para leer bytes desde un archivo. Proporciona operaciones bsicas para leer un byte o secuencia de bytes. Los constructores de la clase permiten crear objetos asociados a un archivo. FileOutputStream (String nombre) throws IOException; //Crea un objeto inicializado con el nombre de archivo que se pasa como argumento. FileOutputStream (String nombre, boolean sw) throws IOException; //Crea un objeto inicializado con el nombre de archivo que se pasa como argumento. En el caso de que sw= tru los bytes escritos se aaden al final. FileOutputStream (File nombre) throws FileNotFoundException; //Crea un objeto inicializado con el nombre de archivo que se pasa 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 mximo de len bytes en el flujo.

Ibarra Hernndez Ana Karen

Programacin Orientada a Objetos Unidad IV Tarea #1

ISC

Clases ByteArrayInputStream y ByteArrayOutputStream Permiten asociar un flujo con un array de bytes, en vez de un archivo. Se puede pensar que un objeto de stream de entrada lee el array, y que el objeto stream de salida escribe en un array interno que crece dinmicamente.

ByteArrayInputStream (byte buffer [ ]); //Crea un objeto asociado en el flujo con el array 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 mximo nmero de byte a leer. Clase ByteArrayOutputStream ByteArrayOutputStream ( ); //Crea un objeto flujo para escribir bytes. Void write (int c); // Escribe c en el flujo Void write (byte [ ] s, int org, int len) // Escribe una secuencia de len byte apartir de la posicin org de la array s String toString ( ); // Devuelve una cadena con los caracteres del flujo. Clases PipeInputStream y PipeOutputStream Transfiere datos entre clases (threads) sincronizadas. Se define un objeto de tipo PipeInput y PipeOutput. Para enviar datos a una tarea, el objeto de salida se invoca a la operacin write (). La tarea que recibe datos los captura a travs del objeto flujo de entrada, llamando a mtodos de lectura, read () y receive (). Ambas clases tienen un constructor al que se le pasa como argumento del bjeto pipe de la otra clase; tambin tienen el mtodo connect (, que tiene como argumento del objeto pipe con el que se conecta. Clase filtro Estos flujos leen secuencias de bytes, pero organizan internamente estas secuencias para formar datos de los tipos primitivos. Los stream filtro son una abstraccin de las secuencias de bytes para hacer procesos de datos a ms alto nivel.

Ibarra Hernndez Ana Karen

Programacin Orientada a Objetos Unidad IV Tarea #1

ISC

Considerando la forma aislada de la jerarqua de la clase stream filtro hay dos clases base: FilterInputStream y FilterOutputStream. Son clases abstractas, por consiguiente la interfaz de cada clase tiene que ser definida en las clases derivadas. FilterInputStream BufferedInputStream LineNumberInputStream PushbackInputStream DataInputStream Clases DataInputStream Filtra una secuencia de bytes, los organiza, para poder realizar lecturas de tipos de datos primitivos directamente: chart, byte, short, int, long, float, double, boolean. public DataInputStream (InputStream entrada) //Crea un objeto asociado con cualquier objeto de entrada pasado como argumento. public final boolean readBoolean ( ) throws IOException //Devuelve valor de tipo boolean ledo. public final byte readByte ( ) throws IOException //Devuelve valor de tipo byte ledo. public final short readShort ( ) throws IOException //Devuelve valor de tipo short ledo. public final char readChar ( ) throws IOException //Devuelve valor de tipo char ledo. public final int readInt ( ) throws IOException //Devuelve valor de tipo int ledo. public final long readLong ( ) throws IOException //Devuelve valor de tipo long ledo. public final float readFloat ( ) throws IOException //Devuelve valor de tipo float ledo. public final double readDouble ( ) throws IOException //Devuelve valor de tipo double ledo. public final Strind readUTF ( ) throws IOException FilterOutputStream BufferedOutputStream DataOutputStream PrintStream

Ibarra Hernndez Ana Karen

Programacin Orientada a Objetos Unidad IV Tarea #1

ISC

//Devuelve una cadena que se escribi en formato UTF. public final String readLine ( ) throws IOException //Devuelve la cadena leda hasta fin de lnea. Clase DataOutPutStream Su finalidad es escribir en el flujo asociado datos de tipo primitivo. Para crear un objeto de esta clase, previamente tiene que estar creado el objeto flujo con el que se va a asociar. 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 v de tipo boolean v. public final void writeByte (int v) throws IOException // Escribe el dato v como byte. public final void writeShort (int v) throws IOException // Escribe el dato v como short. public final void writeChar (int v) throws IOException // Escribe el dato v como un carcter. public final void writeInt (int v) throws IOException // Escribe el dato de tipo int v. public final void writeLong (long v) throws IOException // Escribe el dato de tipo long v. public final void writeFloat (float v) throws IOException // Escribe el dato de tipo float v. public final void writeDouble (double v) throws IOException // Escribe el dato de tipo double v. public final void writeUTF (String cad) throws IOException //Escribela cadena cad en formato UTF. public final int size ( ) throws IOException //Devuelve el tamao del flujo. Clase PrintStream

Ibarra Hernndez Ana Karen

Programacin Orientada a Objetos Unidad IV Tarea #1

ISC

Los mtodos de esta clase estn sobre cargados para poder escribir desde cadenas hasta cualquiera de los datos primitivos. 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 (chard c) // Escribe el carcter c en el flujo 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 de fin de lnea Lo mismo para el resto de los datos de tipo primitivo 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 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. BIBLIOGRAFA: **Java 2, curso de programacin, 3ra. Edicin, Francisco Javier Ceballos. **Cmo se programa en Java, 7. Edicin, Deitel, Paul J. y Harvey M. Deitel, PEARS ON EDUCACION.

Ibarra Hernndez Ana Karen

Programacin Orientada a Objetos Unidad IV Tarea #1

ISC

**Programacin en Java 2: Algoritmos, Estructuras de Datos Y POO Luis Joyanes Aguilar, Ignacio Zahonero Martinez, MCGRAW-HILL.

También podría gustarte