Nota: Recuerda que no todas las direcciones URL contienen estos componentes. La clase URL proporciona estos métodos porque las URLs de HTTP contienen estos componentes y quizás son las URLs más utilizadas. La clase URL está centrada de alguna forma sobre HTTP.
Se pueden utilizar estos métodos getXXX() para obtener información sobre la URL sin importar el constructor que se haya utilizado para crear el objeto URL.
La clase URL, junto con estos métodos accesores, libera de tener que analizar la URL de nuevo!
Dando a cualquier cadena la especificación de una URL, y sólo creando un nuevo objeto URL y llamanado a uno de sus métodos accesores para la información que se necesite.
Este pequeño programa de ejemplo crea una URL partiendo de una especificación y luego utiliza los métodos accesores del objeto URL para analizar la URL:
import java.net.*;
import java.io.*;
class ParseURL {
public static void main(String[] args) {
URL aURL = null;
try {
aURL = new URL("http://java.sun.com:80/tutorial/intro.html#DOWNLOADING");
System.out.println("protocol = " + aURL.getProtocol());
System.out.println("host = " + aURL.getHost());
System.out.println("filename = " + aURL.getFile());
System.out.println("port = " + aURL.getPort());
System.out.println("ref = " + aURL.getRef());
} catch (MalformedURLException e) {
System.out.println("MalformedURLException: " + e);
}
}
}
Aquí tienes la salida mostrada por el programa:
protocol = http
host = java.sun.com
filename = /tutorial/intro.html
port = 80
ref = DOWNLOADING