Leer 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 tu 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.)