Leer Directamente desde una URL

Después de haber creado satisfactoriamente una URL, se puede llamar al método openStream() de la clase URL para obtener un canal desde el que poder leer el contenido de la URL. El método retorna un objeto java.io.InputStream por lo que se puede leer normalmente de la URL utilizando los métodos normales de InputStream. Canales de Entrada y Salida describe las clases de I/O proporcionadas por el entorno de desarrollo de Java y enseña cómo utilizarlas.

Leer desde una URL es tan sencillo como leer de un canal de entrada. El siguiente programa utiliza openStream() para obtener un stream de entrada a la URL "http://www.yahoo.com/". Lee el contenido del canal de entrada y lo muestra en la pantalla.

import java.net.*;
import java.io.*;

class OpenStreamTest {
    public static void main(String[] args) {
        try {
            URL yahoo = new URL("http://www.yahoo.com/");
            DataInputStream dis = new DataInputStream(yahoo.openStream());
            String inputLine;

            while ((inputLine = dis.readLine()) != null) {
                System.out.println(inputLine);
            }
            dis.close();
        } catch (MalformedURLException me) {
            System.out.println("MalformedURLException: " + me);
        } catch (IOException ioe) {
            System.out.println("IOException: " + ioe);
        }
    }
}
Cuando ejecutes el programa, deberóas ver los comandos HTML y el contenido textual del fichero HTMl localizado en "http://www.yahoo.com/" desplazándose por su ventana de comandos.

O podrías ver el siguiente mensaje de error:

IOException: java.net.UnknownHostException: www.yahoo.com
El mensaje anterior indica que se podría tener seleccionado un proxy y por eso el programa no puede encontar el servidor www.yahoo.com. (Si es necesario, preguntale a tu administador por el proxy de su servidor.)


Ozito