Ejercicio de tipos de flujos (I)

Hola. Tras un paréntesis veraniego, vuelvo a la carga, con ejercicios y más teoría sobre Java. ¡Todavía nos queda mucha pelea!

Ejercicio

Intenta escribir un programa, de nombre EscribeArray, que cree un array de bytes, con los dígitos del 0 al 9, y a continuación, defina sobre él un flujo de entrada para leer sus valores, y mostrarlos por pantalla.

Como puede hacerse

El array de valores bytes se crea de forma estática, indicando directamente los dígitos que va a almacenar. A continuación, se define un flujo de entrada de la clase ByteArrayInputStream con el array. El método available() permite determinar el número de bytes que pueden leerse del flujo en cada instante. De esta forma, mediante un bucle de tipo while se procede a leer todos los valores del flujo mediante el método read(). Cada lectura sobre el flujo decrementará en una unidad el número de bytes disponibles en él. Esta circunstancia se aprovecha para implementar la condición de control del bucle.

Solución

import java.io.ByteArrayInputStream;
import java.io.IOException;

public class EjercicioLecturaEscritura {

    public static void main(String[] args) throws IOException {
        byte[] arrayBytes = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
        ByteArrayInputStream flujoArrayBytes1 = new ByteArrayInputStream(arrayBytes);// CREACION
                                                                                        // DEL
                                                                                        // FLUJO
                                                                                        // DE
                                                                                        // ENTRADA
        while (flujoArrayBytes1.available() != 0) {
            byte leido = (byte) flujoArrayBytes1.read();
            System.out.println(leido);
        }
        flujoArrayBytes1.close();
    }

}

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s