Sunteți pe pagina 1din 2

Centro Regional Universitario de Veraguas

Facultad de Informática, Electrónica y Comunicación


Inf212-Programación Orientada a Objetos

Semana #11
La Clase URL

Introducción
En Internet podemos acceder a diversos recursos usando un Localizador Uniforme
de Recursos (URL). Con el URL se identifica cualquier recurso accesible en la RED como
por ejemplo; una página web, un documento, una dirección de correo, imagen, vídeo, audio,
texto,etc. Normalmente una URL consta de dos partes:
 Identificador del método de acceso (protocolo) por ejemplo: FTP, HTTP, SMTP.
 Nombre del recurso, por exemplo "//www.up.ac.pa"
El formato general de un URL es: protocolo://servidor/directorio/archivo

Ejemplo Propósito
identifica el tipo de software
protocolo http necesario para acceder los
datos
identifica la computadora que
servidor www.up.ac.pa
cuenta con el recurso
identifica
Ruta o nombre del
index.html el archivo que contiene el
archivo
recurso

Conexión con la RED


Así como hemos obtenido datos desde un archivo de texto o desde el teclado,
también la podemos obtener desde Internet con un InputStream que modele el
comportamiento fundamental de un flujo de entrada.

Hay dos pasos fundamentales para obtener Referencias:


información de la RED:
 Identificar el URL que contiene el  http://www.cica.es/formacion/JavaTut/Cap9
recurso que deseamos: esto lo /url.html
logramos con la clase URL. 2/26/usando-clases-en-java-class-usage-in-java
 Establece una conexión con la pc que
cuenta con este recurso: se establece
la conexión mediante el objeto URLConnection.

Java permite cuatro constructores de la clase URL;


 public URL( String spec ) throws MalformedURLException;
 public URL( String protocol,String host,int port,String file ) throws
MalformedURLException;
 public URL( String protocol,String host,String file ) throws MalformedURLException;
 public URL( URL context,String spec ) throws MalformedURLException;

¿ A cuál de ellos corresponde el siguiente ejemplo?

URL u = new URL("http://www.cica.es/formacion/JavaTut/Cap9/url.html");

La clase URL provee un método, que devuelve una referencia a un objeto URLConection.

Diego Santimateo G. 1
Centro Regional Universitario de Veraguas
Facultad de Informática, Electrónica y Comunicación
Inf212-Programación Orientada a Objetos

URLConection uC = u.openConection();

openConnection lleva a cabo lo siguiente:


 Establece el software de comunicación en su maquina
 Inicializa el contacto con la maquina remota
 Espera una respuesta
 Establece la conexión
 Construye un objeto URLConnection, que modela dicha conexión, devolviendo una
referencia a este.

La clase URLConnection tiene un método que nos interesa: getInputStream, que
proporciona un flujo de entrada que permite leer el contenido del archivo.
InputStream is = uC.getInputStream();

Lectura desde el Teclado


Para usar el InputStream, //Creación del flujo para leer datos
seguimos la misma secuencia de InputStreamReader isr=new InputStreamReader(System.in);
pasos que usamos para leer
desde el teclado. //Creación del filtro para optimizar la lectura de datos
BufferedReader br=new BufferedReader(isr);
System.out.print("Teclea el primer numero: ");

//Lectura de datos mediante el método readLine()


Ejemplo:
String texto1=br.readLine();
import java.io.*;
import java.net.*;
class LeeWeb {
// Autor: Diego Santimateo G.
// Se conecta a un URL y obtiene el recurso correspondiente
public static void main(String args[]) throws Exception {
try {
String inputLine, inputText;

URL recurso = new URL("http://www.cica.es/formacion/JavaTut/Cap9/url.html");


URLConnection recursoWeb = recurso.openConnection();
InputStream is = recursoWeb.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader pagweb = new BufferedReader(isr);

// se lee el archivo url.html


System.out.println("**** Leyendo archivo de la web ...espere por favor ....");
System.out.flush(); // obliga al despliegue inmediato
inputText ="";
while ((inputLine = pagweb.readLine()) != null) {
inputText += inputLine + "\n";
}
System.out.println(inputText);

System.out.println("\n**** Fin de la lectura de la web");


}
catch (MalformedURLException me) {
System.out.println("MalformedURLException: " + me);
}
catch (IOException ioe) {
System.out.println("IOException: " + ioe);
}

} // fin del main


} // fin de LeeWeb

Diego Santimateo G. 2

S-ar putea să vă placă și