Previous | Next | Trail Map | Custom Networking and Security | URL を扱う


URL から直接読み取る

正常に URL を作成した後は、URL の openStream() メソッドを呼び出 してストリームを獲得し、そこから URL のコンテンツを読み取りができる。 openStream() メソッドは java.io.InputStreamオブジェクトを返すので、ユー ザは通常の InputStream メソッドを使って URL から読み取ることができる。 Java 開発環境が用意している入出力クラスの説明とその使用法は、入力と出力のストリーム(in the Writing Java Programs 
trail) に記載されている。

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 ホストについてシステム管理者に問い 合わせてみる。)


Previous | Next | Trail Map | Custom Networking and Security | URL を扱う