JavaのURLクラスを使いこなす:ウェブへ簡単にアクセス
翻訳校正:原井彰弘
インターネット上のリソースへのアクセスのために、JavaはURLクラスを提供している。
Javaのネットワーク関連のクラスを用いることにより、ネットワーク上またはリモートのマシンと通信を行うアプリケーションを実装することはできる。しかし、JavaプラットフォームはインターネットやURLといったレベルで処理を行う機能も有している。
JavaのURLクラスを用いることにより、ウェブリソースへのアクセスはローカルファイルへのアクセスと同じくらい簡単になるのである。ここでは、どのようにすればURLクラスの力をうまく引き出し、コネクションを介してデータの読み書きを行うことができるかを見てみよう。
URLクラスを扱う
URLは、ウェブ上に存在するファイル、ウェブページ、ウェブアプリケーションのようなリソースを識別するために用いられており、多数の構文上の要素から構成されている。例として以下のURLを見て欲しい。
http://www.example.com:8080/mywebapps/AWebApp
プロトコルは「http」として識別される。また、ホスト名は「www.example.com」、ポート番号は「8080」である。「/mywebapps/AWebApp」という残りのURLは、アクセスしているサイト上のリソースを示している。この例の場合、そのリソースとは(偶然だが)ウェブアプリケーションである。URLにはフラグメント識別子やクエリ文字列のようなほかの要素を含むことも可能である。
URLを用いて取り出せるデータには多種多様な形式があるが、単一の仕組みでURLへの読み書きを行わなければならない。Javaのjava.netパッケージではそのような機能が提供されており、これから我々が議論するURLクラスもその中に含まれている。
URLクラスは、URL識別子を抽象化したものである。URLクラスを用いることによって、Javaから特定のURLとの接続を行い、データやヘッダのの読み書きを行ったり、それ以外のURLに関する操作をしたりすることが可能になる。これから、URLクラスやjava.ioパッケージに含まれているストリーム関連のクラスを用いて、どのような仕組みでURLに関する処理をファイルやソケット接続と同じ手法で実現できるのかを述べていく。
コンストラクタ
java.net.URLクラスのインスタンスを作成する際には、publicコンストラクタを利用する。URLクラスには、柔軟性を持たせるために多数のコンストラクタが用意されており、「完全なURL文字列」「プロトコル、ホスト名、ファイルまたはリソース名に分割された文字列」「プロトコル、ホスト名、ポート番号、ファイル名に分割された文字列」などさまざまな入力形式に対応している。ここでは、完全なURLを用いてURLクラスのインスタンスを生成してみよう。
URL aURL = new URL("http://www.example.com:8080/index.html");
この例では、URLクラスのインスタンスは完全なURLで作成されており、プロトコルは「http」、ホスト名は「www.example.com」、ポート番号は「8080」、そしてファイルまたはリソース名は「index.html」となっている。ちなみに、コンストラクタの引数として入力されたURLに文法的な誤りがある場合、コンストラクタはMalformedURLExceptionをスローする。
- 2人の推薦記事
- 0人がクリップ
-
ソーシャルブックマーク(-)
- トラックバック(0)
- 今日のトップ記事
- 昨日
- 5日前
- 6日前
- 7日前
- ホワイトペーパー
- 話題のタグ
「Google Chrome」の拡張機能、開発者からのアップロード受付を開始
IMAPでGmailを受信、最も手っ取り早いのは?Windows 7、Ubuntu 9.10、Snow Leopardのメーラー比較
Snow LeopardではNTFSをサポート--その源流を訪ねる(2)
MS運営のオープンソース開発プロジェクト支援サイト「CodePlex」を探検する(2)
Snow LeopardではNTFSをサポート--その源流を訪ねる(1)
フォトレポート:「Windows Server 2008 R2」--あまり知られていない有用な機能10選
電力に"ふた"をする独自の省エネ機能とは!?
大丈夫?あなたの会社のセキュリティ対策
100万円で実現!中小企業の情報漏えい対策
【最終警告】パンデミック対策特集
企業ITシステムの企画、構築、運用のイロハ
高まるiSCSIストレージへの注目度
―エン・ジャパン厳選求人☆毎週更新―