URL を扱う |
正常に URL を作成した後は、URL の openStream() メソッドを呼び出 してストリームを獲得し、そこから URL のコンテンツを読み取りができる。 openStream() メソッドは java.io.InputStreamオブジェクトを返すので、ユー ザは通常の InputStream メソッドを使って URL から読み取ることができる。 Java 開発環境が用意している入出力クラスの説明とその使用法は、入力と出力のストリーム に記載されている。
URL からの読み取りは入力ストリームからの読み取りと同じように簡単である。 次に示す簡単な Java プログラムは openStream() を使用して、URL "http://www.yahoo.com/" の入力ストリームを得ている。その後、入力ストリームか らコンテンツを読み取り、エコー表示する。
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); } } }このプログラムを実行すると、"http://www.yahoo.com/" に置かれている HTML ファイル からの HTML のコマンド群とテキストのコンテンツが、コマンドウィンドウでスクロ ールされながら表示されるはずである。
あるいは、次のようなエラーメッセージが表示されるかもしれない。
IOException: java.net.UnknownHostException: www.yahoo.com上記のメッセージは、プログラムが www.yahoo.com サーバを見つけるには、proxy ホストを設定する必要があることを表している。 (必要があれば、読者のネットワークの proxy ホストについてシステム管理者に問い 合わせてみる。)
URL を扱う |