## Primer Encuentro con la I/O en Java

Si has estado utilizando los canales de entrada y salida estandard, entonces has utilizado, quizás sin saberlo, los canales de I/O del paquete java.io.

Este programa de ejemplo utiliza System.out.println() para imprimir el texto "Hola Mundo!" en la pantalla.

    class HelloWorldApp {
        public static void main (String[] args) {
            System.out.println("Hola Mundo!");
        }
    }

System.out se refiere a un canal de salida manejado por la clase System que implementa el canal de salida estandard. System.out es un ejemplar de la clase PrintStream definida en el paquete java.io. La clase PrintStream es un OutputStream muy sencillo de utilizar. Simplemente llama a uno de sus métodos print(), println(), o write() para escribir varios tipos de datos en el canal.

PrintStream pertenece al conjunto de canales conocidos como canales filtrados que se cubren más adelante en esta lección.

Similarmente, este programa de ejemplo está estructurado utilizando System.in.read() para leer los caracteres tecleados por el usuario.

    class Count {
        public static void main(String[] args)
            throws java.io.IOException
        {
            int count = 0;

            while (System.in.read() != -1)
                count++;
            System.out.println("La entrada tiene " + count + " caracteres.");
        }
    }

System.in se refiere a un canal de entrada manejado por la clase System que implementa el canal de entrada estandard. System.in es un objeto InputStream. InputStream es una clase abstracta definida en el paquete java.io que define el comportamiento de los canales secuenciales de entrada de Java. Todos los canales de entrada definidos en el paquete java.io son subclases de InputStream. InputStream define un iterface de programación para los canales de entrada que incluye métodos para leer datos desde el canal, marcar una posición dentro del canal, saltar a una marca, y cerrar el canal.

Como has visto, ya estás familiarizado con algunos canales de I/O del paquete java.io. El resto de esta lección introduce los canales del paquete java.io (incluyendo los canales mencionados en esta página: PrintStream, OutputStream e InputStream) y muestra cómo utilizarlos.

Ozito