16.11.2013 Aufrufe

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>Programmieren</strong> <strong>in</strong> <strong>Java</strong><br />

public URL(URL urlObj, Str<strong>in</strong>g … ) throws MalformedURLException<br />

// erzeugt relativ zur URL e<strong>in</strong> neues URL-Objekt.<br />

Bsp.: Zugiff auf die Homepage <strong>de</strong>r FH Regensburg<br />

import java.net.*;<br />

import java.io.*;<br />

public class OeffneURLStrom<br />

{<br />

public static void ma<strong>in</strong>(Str<strong>in</strong>g args[])<br />

{<br />

try {<br />

Str<strong>in</strong>g s;<br />

URL fhURL = new URL("http://www.fh-regensburg.<strong>de</strong>/");<br />

BufferedRea<strong>de</strong>r e<strong>in</strong> = new BufferedRea<strong>de</strong>r(<br />

new InputStreamRea<strong>de</strong>r(fhURL.openStream()));<br />

while ((s = e<strong>in</strong>.readL<strong>in</strong>e()) != null)<br />

System.out.pr<strong>in</strong>tln(s);<br />

e<strong>in</strong>.close();<br />

}<br />

catch(MalformedURLException e)<br />

{ System.out.pr<strong>in</strong>tln("MalformedURLException: " + e); }<br />

catch(IOException e)<br />

{ System.out.pr<strong>in</strong>tln("IOException: " + e); }<br />

}<br />

}<br />

Die Klasse URL besitzt auch Konstruktoren, die die Angabe <strong>de</strong>r Komponenten von<br />

<strong>de</strong>r Adresse (also Zugriffsart, Hostname und Dateiadresse getrennt) akzeptieren:<br />

public URL(Str<strong>in</strong>g protocol, Str<strong>in</strong>g host, <strong>in</strong>t port, Str<strong>in</strong>g file) throws<br />

MalformedURLException<br />

public URL(Str<strong>in</strong>g protocol, Str<strong>in</strong>g host, Str<strong>in</strong>g file) throws<br />

MalformedURLException<br />

Je<strong>de</strong>r <strong>de</strong>r Konstruktoren wirft e<strong>in</strong>e MalformedURLException, wenn <strong>de</strong>r Parameter<br />

im Konstruktor entwe<strong>de</strong>r null ist o<strong>de</strong>r er e<strong>in</strong> unbekanntes Protokoll beschreibt.<br />

Zugriff auf Daten über e<strong>in</strong>e URL. Es gibt zwei Möglichkeiten über e<strong>in</strong>e URL bzw. über<br />

e<strong>in</strong>e URLConnection. Bei<strong>de</strong> Wege benutzen Streams. Je<strong>de</strong>s URL-Objekt besitzt die<br />

Metho<strong>de</strong> openStream(), die e<strong>in</strong>en InputStream zum Weiterverarbeiten liefert.<br />

f<strong>in</strong>al InputStream openStream() throws IOException<br />

// öffnet e<strong>in</strong>e Verb<strong>in</strong>dung zum Server und liefert e<strong>in</strong>en InputStream zurück<br />

URLConnection openConnection() throws IOException<br />

// liefert e<strong>in</strong> URLConnection-Objekt, das die Verb<strong>in</strong>dung zum entfernten<br />

// Server vertritt. openConnection() wird vom Protokoll-Handler immer<br />

// dann aufgerufen, wenn e<strong>in</strong>e neue Verb<strong>in</strong>dung geöffnet wird.<br />

Verweist die URL auf e<strong>in</strong>e Textdatei, dann erweitert man <strong>de</strong>n InputStream zu<br />

e<strong>in</strong>em BufferedRea<strong>de</strong>r, da dieser die readL<strong>in</strong>e()-Metho<strong>de</strong> besitzt.<br />

Bsp.: E<strong>in</strong>e Antwort (HTML-Seite) auf e<strong>in</strong>e Suchfrage<br />

import java.io.*;<br />

import java.net.*;<br />

public class GoogleSucher<br />

{<br />

public static void ma<strong>in</strong>(Str<strong>in</strong>g args[]) throws IOException,<br />

MalformedURLException<br />

{<br />

499

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!