La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Streams. / En casi todo programa se necesita traer o enviar información a una fuente externa. / Dicha información puede estar en un archivo en el disco.

Presentaciones similares


Presentación del tema: "Streams. / En casi todo programa se necesita traer o enviar información a una fuente externa. / Dicha información puede estar en un archivo en el disco."— Transcripción de la presentación:

1 Streams

2 / En casi todo programa se necesita traer o enviar información a una fuente externa. / Dicha información puede estar en un archivo en el disco duro, en la memoria, en algún lugar de la red, e incluso en otro programa / En casi todo programa se necesita traer o enviar información a una fuente externa. / Dicha información puede estar en un archivo en el disco duro, en la memoria, en algún lugar de la red, e incluso en otro programa

3 Streams / En java, para traer la información desde cualquier fuente es necesario abrir un stream sobre el destino, a partir de ello se lee la información serialmente. / De forma similar para enviar información, se abre un stream y se escribe la información serialmente. / En java, para traer la información desde cualquier fuente es necesario abrir un stream sobre el destino, a partir de ello se lee la información serialmente. / De forma similar para enviar información, se abre un stream y se escribe la información serialmente.

4 Streams El paquete java.io contiene una colección de clases stream que nos permitirán leer o escribir en dichos streams. Diagrama de Clases de Streams El paquete java.io contiene una colección de clases stream que nos permitirán leer o escribir en dichos streams. Diagrama de Clases de Streams

5 La clase InputStream / Esta clase abstracta es la superclase de todas las clases que representan un stream de bytes de entrada. Su único constructor es InputStream(). / Todas las subclases que quieran heredar de la clase InputStream deben implementar el método int read(), que nos regresa el siguiente byte del stream de entrada. / Esta clase abstracta es la superclase de todas las clases que representan un stream de bytes de entrada. Su único constructor es InputStream(). / Todas las subclases que quieran heredar de la clase InputStream deben implementar el método int read(), que nos regresa el siguiente byte del stream de entrada. 270

6 Metodos del InputStream int read(byte buffer[]). Nos devuelve el número de datos leídos y guarda lo leído en el arreglo buffer. int read(byte[] buffer, int comienzo, int longitud). Es parecido al anterior, solo que aquí se le especifica a partir de que posición del arreglo se comenzarán a guardar los datos(comiezo), así como el número máximo de datos a leer (longitud). long skip(long n). Método similar a read(), que sirve para saltarse un número de bytes del stream, es decir, no se quiere leer. Nos regresa el número de datos saltados. long available(). Este método nos indica cuantos bytes del stream se pueden leer o saltar. No es un método fiable, pues determinados streams, siempren devuelven 0, ya que el método available() de la clase InputStream siempre regresa 0. Por lo tanto es necesario que todas las subclases de ésta clase redefinan este método. close(). Cierra el stream de entrada.

7 La clase ByteArrayInputStream Subclase de InputStream que abre un stream de entrada a un arreglo de datos. Constructores / ByteArrayInputStream(byte[] buffer). Crea un stream al array buffer. / BytearrayInputStream(byte[] buffer, int offset, int length). Crea un stream a un array de length elementos, con los elementos contenido en el array buffer, que están a partir de la posición offset. / El método reset() siempre resetea al principio del stream, independiente de donde se haya marcado. Subclase de InputStream que abre un stream de entrada a un arreglo de datos. Constructores / ByteArrayInputStream(byte[] buffer). Crea un stream al array buffer. / BytearrayInputStream(byte[] buffer, int offset, int length). Crea un stream a un array de length elementos, con los elementos contenido en el array buffer, que están a partir de la posición offset. / El método reset() siempre resetea al principio del stream, independiente de donde se haya marcado.

8 La clase FileInputStream / Subclase de InputStream que abre un stream de entrada a un archivo. / Sus constructores más usados son FileInputStream(String filename) y FileInputStream(File file), que sirven para abrir un stream de entrada al archivo que tienen como parámetro. / Subclase de InputStream que abre un stream de entrada a un archivo. / Sus constructores más usados son FileInputStream(String filename) y FileInputStream(File file), que sirven para abrir un stream de entrada al archivo que tienen como parámetro.

9 La clase OutputStream / Esta clase abstracta es la superclase de todas las clases que representan un stream de bytes de salida. / Su único constructor es OutputStream(). / Todas las subclases que quieran heredar de la clase OutStream deben implementar el método int write(int b), que escribe un byte a la salida. / Esta clase abstracta es la superclase de todas las clases que representan un stream de bytes de salida. / Su único constructor es OutputStream(). / Todas las subclases que quieran heredar de la clase OutStream deben implementar el método int write(int b), que escribe un byte a la salida.

10 Métodos de OutputStream / Define los métodos write(byte[] b) y write(byte[] b, int offset, int length) que actúan de forma similar al read de la clase InputStream, solo que en vez de leer, ahora escriben. / flush(). Si existen un buffer intermediario en nuestro stream, este provoca que almacene inmediatamente a nuestra salida. El método flush de OutputStream no hace nada, así que es necesario redefinirlo. / close(). Cierra el stream de salida. La clase OutputStream tiene definido subclases que abren diferentes streams de salida hacia algún tipo de almacenamiento (memoria y archivos frecuentemente), y son muy parecidos a las subclases de InputStream, solo que en vez de leer se escribe. / Define los métodos write(byte[] b) y write(byte[] b, int offset, int length) que actúan de forma similar al read de la clase InputStream, solo que en vez de leer, ahora escriben. / flush(). Si existen un buffer intermediario en nuestro stream, este provoca que almacene inmediatamente a nuestra salida. El método flush de OutputStream no hace nada, así que es necesario redefinirlo. / close(). Cierra el stream de salida. La clase OutputStream tiene definido subclases que abren diferentes streams de salida hacia algún tipo de almacenamiento (memoria y archivos frecuentemente), y son muy parecidos a las subclases de InputStream, solo que en vez de leer se escribe.


Descargar ppt "Streams. / En casi todo programa se necesita traer o enviar información a una fuente externa. / Dicha información puede estar en un archivo en el disco."

Presentaciones similares


Anuncios Google