La Entrada y Salida de datos en Java es importante para la comunicación que existe entre la máquina y
el usuario por esa razón aquí se explica los prinicipales objetos para realizar este proceso.
Los programas necesitan comunicarse con su entorno, tanto para recoger datos e información que deben procesar,
como para devolver los resultados obtenidos. La manera de representar estas entradas y salidas en Java es a base de streams (flujos
de datos).
Un stream es una conexión entre el programa y la fuente o destino de los datos. La información se traslada en serie (un carácter a
continuación de otro) a través de esta conexión. Esto da lugar a una forma general de representar muchos tipos de comunicaciones.
Por ejemplo, cuando se quiere imprimir algo en pantalla, se hace a través de un stream que conecta el monitor al programa. Se da a
ese stream la orden de escribir algo y éste lo traslada a la pantalla. Este concepto es suficientemente general para representar la
lectura/escritura de archivos, la comunicación a través de Internet o la lectura de la información de un sensor a través del puerto
en serie.Para tener buenas bases de este lenguaje dejamos este
curso de java presencial y 100% práctico.
De igual forma existen clases de java para lectura y escritura de datos como los son los package java.io contiene las clases necesarias para la comunicación del programa con el exterior. Dentro de este package existen dos familias de jerarquías distintas para la entrada/salida de datos. La diferencia principal consiste en que una opera con bytes y la otra con caracteres (el carácter de Java está formado por dos bytes porque sigue el código Unicode). En general, para el mismo fin hay dos clases que manejan bytes (una clase de entrada y otra de salida) y otras dos que manejan caracteres.
Desde Java 1.0, la Entrada y Salida de datos en Java del programa se podía hacer con clases derivadas de InputStream
(para lectura) y OutputStream (para escritura). Estas clases tienen los métodos básicos read() y write() que manejan bytes y que no
se suelen utilizar directamente. En Java 1.1 aparecieron dos nuevas familias de clases, derivadas de Reader y Writer, que manejan
caracteres en vez de bytes. Estas clases resultan más prácticas para las aplicaciones en las que se maneja texto. En las cuatro
últimas figuras las clases con fondo gris definen de dónde o a dónde se están enviando los datos, es decir, el dispositivo con que
conecta el stream. Las demás (fondo blanco) añaden características particulares a la forma de enviarlos. La intención es que se
combinen para obtener el comportamiento deseado. Por ejemplo:
BufferedReader in = new BufferedReader(new FileReader("autoexec.bat"));
Con esta línea se ha creado un stream que permite leer del archivo autoexec.bat. Además, se ha creado a partir de él un objeto
BufferedReader (que aporta la característica de utilizar buffer6). Los caracteres que lleguen a través del FileReader pasarán a
través del BufferedReader, es decir utilizarán el buffer. A la hora de definir una comunicación con un dispositivo siempre se
comenzará determinando el origen o destino de la comunicación (clases en gris) y luego se le añadiran otras características (clases
en blanco). Se recomienda utilizar siempre que sea posible las clases Reader y Writer, dejando las de Java 1.0 para cuando sean
imprescindibles. Algunas tareas como la serialización y la compresión necesitan las clases InputStream y OutputStream.
Para tener buenas bases en java dejamos este
curso de java
donde podrás aprender y utilizar de manera práctica.
Diseño de paginas Web Grupo Codesi