12.1 INTRODUCCIÓN STREAMS

 

Bienvenidos a un nuevo bloque dedicado a la programación en Java, en este apartado vamos a ver un nuevo concepto: los streams. Como hasta ahora los posts los voy haciendo lo más prácticos posibles para que se os haga más ameno y no tengáis que estar leyendo los posts como si fuera una novela. Si queréis que al final del post ponga el código completo de la práctica o ejemplo que estamos realizando en los posts me enviáis un correo a amizba@gmail.com o directamente me lo indicáis en los comentarios del blog.

Por otra parte, algunos me habéis escrito a mi correo comentando que algunos ejercicios no siguen los mismos pasos que las prácticas o ejemplos que realizo en el tutorial, esto es debido a que también quiero que veáis otra forma de escribir código siempre y cuando el resultado sea el mismo. En muchos de los ejercicios no creo la clase que hereda de JFrame, sino, que creo el objeto JFrame directamente, al ser ejercicios básicos y no muy avanzados es una manera de acortar y picar código.

Para proyectos más extensos sí que recomiendo que no se cree el objeto JFrame directamente, sino, que se cree la clase y herede de JFrame igual que se cree la clase y herede de JPanel… en el menú de Proyectos lo podéis comprobar. Los que me seguís en el tutorial y en ejercicios ya sabéis a que me refiero.

Así que dicho esto no me enrollo más y empezamos el bloque de los streams.

Los streams también llamados secuencias o flujos de datos sirven para enviar información de un programa Java a un sitio remoto a través de la red, para acceder a ficheros externos para leer información que haya en un fichero dentro de nuestro ordenador o para poder escribir en un fichero que podamos tener dentro de nuestro ordenador.

¿Por qué el uso de ficheros?

Hasta ahora en nuestros programas de Java hemos almacenado la información en variables, en arrays, en objetos… esta información que almacenamos es temporal se guarda en la memoria RAM del ordenador, la memoria RAM es una memoria volátil que significa que cuando un programa termina su ejecución lo que hay dentro de esa memoria volátil se elimina.

Algunas veces al crear aplicaciones Java surge la necesidad de almacenar la información no de forma temporal sino de forma permanente para que en un futuro podamos acceder a esa información.

Si queremos almacenar la información de forma permanente en lugar de almacenarla en la RAM del equipo necesitaremos un dispositivo físico, por ejemplo, el disco duro del ordenador, en un pendrive, etc., para hacer esta operación necesitamos manejar streams, secuencias o manejo de datos.

Si en un futuro tenemos que acceder a esa información como esta guardada en un dispositivo físico podremos acceder a ella que normalmente estará en un fichero.

Formas de abordar los streams

Podemos abordarlo de dos formas:

·         Flujo de bytes

·         Flujo de caracteres

Es decir, a la hora de acceder a un fichero donde puede haber información o donde queremos escribir información lo podemos hacer utilizando bytes o caracteres.

Cuando utilizar una u otra depende de lo que queramos hacer, a veces es más cómodo utilizar una forma y otras veces es más cómodo utilizar la otra. Si queremos almacenar información para luego leerla utilizaremos streams de caracteres, si queremos enviar información que genera el programa de Java a través de la red a un sitio remoto se utilizará un flujo de bytes.

Si usáramos el flujo de bytes utilizaríamos dos clases:

·         InputStream à Secuencia de entrada

·         OutputStream à Secuencia de salida

Utilizaríamos InputStream en el caso que quisiéramos ver la información almacenada en un fichero.

OutputStream la utilizaríamos para escribir información en bytes en un fichero.

Para trabajar con el flujo de caracteres utilizaremos dos clases:

·         Reader à Secuencia de entrada

·         Writer à Secuencia de salida

Con esta breve introducción de lo que son los streams creo que se ha quedado bastante claro, sino, ya sabéis que me lo podéis indicar a través de los comentarios del blog, os espero en el próximo para empezar a ver los streams mediante ejemplos y prácticas. Hasta pronto!

11.2 DEBUGGING << >> 12.2 LEYENDO FICHEROS




No hay comentarios:

Publicar un comentario