Jelenlegi hely

22.2.2 URL elemzés

Az URL osztály több metódussal szolgál, amellyel kérdéseket tehetünk fel az URL objektumoknak. Egy URL-től megkaphatja a protokollt, a hoszt nevét, a port számát és a fájlnevet az alábbi metódusokat használva:

  • getProtocol: Visszaadja az URL protokoll azonosító komponensét.
  • getHost: Visszaadja az URL hoszt név komponensét.
  • getPort: Visszaadja az URL port szám komponensét. A getPort metódus egy egészet ad vissza, ez a port szám. Ha a port nincs beállítva, akkor -1-et ad.
  • getFile: Visszaadja az URL fájlnév komponensét.
  • getRef: Visszaadja az URL hivatkozás komponensét.

Megjegyzés: Ne felejtse el, hogy egyes URL címek nem tartalmazzák ezeket a komponenseket. Az URL osztály azért nyújtja ezeket a metódusokat, mert a HTTP URL-ek és a leggyakrabban használt URL-ek tartalmazni szokták. Az URL osztály némiképp HTTP-centrikus.

Ezeket a getXXX metódusokat arra használhatja, hogy információt kapjon a URL-ről, tekintet nélkül a konstruktorra, amit az URL objektum elkészítésére használt.

Az URL osztály a metódusokkal együtt megszabadít az URL-ek állandó újraelemzésétől. Ha adott egy tetszés szerinti URL String, csak készítenünk kell egy URL objektumot, és meghívni valamelyik metódusát a szükséges információkért. Ez a kis példaprogram készít egy URL-t egy sztringből, és ezután az URL objektum metódusait használva elemzi az URL-t:

import java.net.*;
import java.io.*;
public class ParseURL {
    public static void main(String[] args) throws Exception {
        URL aURL = new URL("http://java.sun.com:80/docs/books/"
                          + "tutorial/index.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());
    }
}

Ez a program kimenete:

protocol = http
host = java.sun.com
filename = /docs/books/tutorial/index.html
port = 80
ref = DOWNLOADING