全パッケージ クラス階層 このパッケージ 前項目 次項目 インデックス
java.lang.Object | +----java.net.URL
URL は Uniform Resource  Locator (World  Wide Web 上の「リソース」を指すポインタ) を表します。リソースとは、ファイルやディレクトリのような単純なものであることも、もっと複雑なオブジェクト (データベースや検索エンジンへの問合せなど) への参照のこともあります。URL の種類とその形式についての詳細は、次の Web サイトで見ることができます。
 
     http://www.ncsa.uiuc.edu/demoweb/url-primer.html
 
 一般に、URL はいくつかの部分に分かれています。上記の例の URL は使用するプロトコルが
 http (HyperText Transport Protocol) であることと、
 www.ncsa.uiuc.edu という名前のホスト上に情報があることを表しています。そして、ホストマシン上にある情報の名前は demoweb/url-primer.html です。ホストマシン上にあるこの名前の正確な意味は、プロトコルとホストの両方に依存しています。一般的には情報は、ファイル内に保存されていますが、動的に生成されることもあります。情報は必ずしもファイル内にあるとは限りませんが、URL のこの部分は ファイル コンポーネントと呼ばれます。
 
 URL には任意で「ポート」を指定することができます。これは TCP 接続を確立するリモートホストマシン上のポート番号を表します。ポート番号を指定しない場合は、そのプロトコルのデフォルトのポートが使用されます。たとえば、http のデフォルトのポートは 80 です。別のポートを使用する場合は、次のように指定します。
 
     http://www.ncsa.uiuc.edu:8080/demoweb/url-primer.html
 URL には「アンカー」(「ref」または「参照」とも呼ぶ) を追加することができます。アンカーを指定するには、シャープ記号「#」の後に文字をいくつか指定します。次にアンカーの例を示します。
     http://java.sun.com/index.html#chapter1
 
 このアンカーは、技術的に考えると URL の一部ではありません。どちらかというと、アンカーは指定のリソースを取り寄せたあと、そのドキュメントの中で chapter1 タグが付いている部分をアプリケーションが特別に扱うということを表します。このタグの意味はリソースによって異なります。
 
アプリケーションは「相対 URL」を指定することもできます。相対 URL は、別の URL を基準として相対的にリソースを検索するための情報だけを含んでいます。相対 URL は HTML ページ内でよく使われます。たとえば、次の URL があるとします。
     http://java.sun.com/index.html
 
     FAQ.html
 
     http://java.sun.com/FAQ.html
 相対 URL には、URL のコンポーネントをすべて指定する必要がありません。プロトコルやホスト名、ポート番号を省略した場合には、完全修飾の URL の情報が継承されます。ただし、ファイルコンポーネントは必須です。任意指定のアンカーは継承されません。
 
 URL(String)
	URL(String)
  String 表現から URL オブジェクトを作成する。
   URL(String, String, int, String)
	URL(String, String, int, String)
  プロトコル、ホスト、ポート番号、ファイル から URL オブジェクトを作成する。
   URL(String, String, String)
	URL(String, String, String)
  プロトコル名、ホスト名、ファイル名から絶対 URL を作成する。
   URL(URL, String)
	URL(URL, String)
  spec を解析して URL を作成する。
 
 equals(Object)
	equals(Object)
   getContent()
	getContent()
   getFile()
	getFile()
  URL のファイル名を返す。
   getHost()
	getHost()
  URL のホスト名を返す (ある場合)。
   getPort()
	getPort()
  URL のポート番号を返す。
   getProtocol()
	getProtocol()
  URL のプロトコル名を返す。
   getRef()
	getRef()
  URL のアンカー (「参照」とも呼ばれる) を返す。
   hashCode()
	hashCode()
   openConnection()
	openConnection()
  URL によって表されるリモートオブジェクトへの接続を表す URLConnection オブジェクトを返す。
   openStream()
	openStream()
  URL への接続を確立し、その接続から入力を受け取るための 
 InputStream を返す。
   sameFile(URL)
	sameFile(URL)
   set(String, String, int, String, String)
	set(String, String, int, String, String)
   setURLStreamHandlerFactory(URLStreamHandlerFactory)
	setURLStreamHandlerFactory(URLStreamHandlerFactory)
  URLStreamHandlerFactory を設定する。
   toExternalForm()
	toExternalForm()
  URL の文字列表現を作成する。
   toString()
	toString()
  URL の文字列表現を作成する。
 
 URL
URL
  public URL(String protocol,
             String host,
             int port,
             String file) throws MalformedURLException
プロトコル、ホスト、ポート番号、ファイルをもとに、URL オブジェクトを作成します。ポート番号に -1 を指定すると、そのプロトコルのデフォルトのポートが使用されます。
 
 これが指定のプロトコルで作成した最初の URL オブジェクトである場合は、そのプロトコル用の ストリームプロトコルハンドラオブジェクト (URLStreamHandler クラスのインスタンス) が作成されます。
 
URLStreamHandlerFactory のインスタンスをストリームハンドラファクトリとして設定してある場合は、そのインスタンスの createURLStreamHandler メソッドが呼び出され、引数としてプロトコル文字列が渡されて、ストリームプロトコルハンドラが作成される。
 URLStreamHandlerFactory がまだ設定されていない場合、またはファクトリの createURLStreamHandler メソッドが null を返した場合は、コンストラクタは次のシステムプロパティの値を探す。
     
         java.handler.protol.pkgs
     null ではない場合は、縦棒「|」で区切られたパッケージのリストと解釈される。コンストラクタは次の名前のクラスをロードしようとする。
     
         <package>.<protocol>.Handler
     URLStreamHandler のサブクラスではないという場合は、リスト内の次のパッケージを使って試行される。
 
         sun.net.www.protocol.<protocol>.Handler
     URLStreamHandler のサブクラスではないという場合は、MalformedURLException がスローされる。
 
 URL
URL
  public URL(String protocol,
             String host,
             String file) throws MalformedURLException
プロトコル 名、ホスト名、ファイル 名をもとに絶対 URL を作成します。指定したプロトコルのデフォルトのポートが使用されます。
 
 このメソッドの機能は、protocol、host、-1、file の 4 つの引数を受け取るコンストラクタと同じです。
 URL
URL
public URL(String spec) throws MalformedURLException
String 表現をもとに URL オブジェクトを作成します。
 
 このコンストラクタの機能は、2 つの引数をもつコンストラクタを呼び出し、1 つ目の引数に null を指定するのと同じです。
String
     URL
URL
  public URL(URL context,
             String spec) throws MalformedURLException
spec を解析することによって URL を作成します。context 引数が null ではなく、spec 引数が部分的な URL である場合、コンポーネントが不足しているすべての文字列は context 引数から継承されます。
 
 String 引数に指定した値が解析され、それプロトコルを表しているかどうかが判別されます。String 内の最初の ASCII スラッシュ文字「/」よりも前に ASCII コロン「:」文字がある場合、コロンよりも前の文字がプロトコルになります。
 
spec 引数に指定した値がプロトコルではない場合は次のようになります。
     null ではない場合は、context 引数のプロトコルが使用される。
     null の場合は、MalformedURLException がスローされる。
     spec 引数に指定した値がプロトコルの場合は次のようになります。
     null または spec 引数とは異なるプロトコルを表す場合、context 引数は無視される。
     null ではなく、spec 引数と同じプロトコルを表す場合、新規作成する URL に、context 引数のホスト、ポート番号 番号、ファイル がコピーされる。
     
 その後、コンストラクタはURLStreamHandler 型の適切なストリームプロトコルハンドラを探します。
 
     java.net.URL#URL(java.lang.String, java.lang.String, int,
                      java.lang.String)
 parseURL メソッドを呼び出して specification ののこりのフィールドを解析し、context 引数によって設定されたすべてのデフォルト値を上書きします。
String 表現
     
 set
set
  protected void set(String protocol,
                     String host,
                     int port,
                     String file,
                     String ref)
 getPort
getPort
public int getPort()
URL のポート番号を返します。
 ポートが設定されていない場合は -1 を返します。
 getProtocol
getProtocol
public String getProtocol()
URL のプロトコル名を返します。
URL のプロトコル
   getHost
getHost
public String getHost()
URL のホスト名を返します (設定されている場合)。
 「file」プロトコルの場合、ホスト名は空の文字列になります。
URL のホスト名
   getFile
getFile
public String getFile()
URL のファイル名を返します。
URL のファイル名
   getRef
getRef
public String getRef()
URL のアンカー (「アンカー」とも呼ばれる) を返します。
URL のアンカー (「参照」とも呼ばれる)
   equals
equals
public boolean equals(Object obj)
null ではなく、このオブジェクトと同じ URL を表す URL オブジェクトである場合にだけ、結果が true になります。2 つの URL オブジェクトは、プロトコルが同じで、参照しているホスト、ホスト上のポート番号、ホスト上のファイルおよびアンカーが同じである場合に同じとみなされます。
 
true、同じではない場合は false 
     hashCode
hashCode
public int hashCode()
URL のハッシュコード
     sameFile
sameFile
public boolean sameFile(URL other)
URL と other 引数がどちらも同じリソースを参照している場合は true を返します。2 つの URL は同じアンカーを含んでいない可能性があります。
URL
    true、同じでない場合は false
   toString
toString
public String toString()
URL の文字列表現を作成します。このオブジェクトのストリームプロトコルハンドラの toExternalForm メソッドを呼び出すことによって文字列が作成されます。
 toExternalForm
toExternalForm
public String toExternalForm()
URL の文字列表現を作成します。このオブジェクトのストリームプロトコルハンドラの toExternalForm メソッドを呼び出すことによって文字列が作成されます。
 openConnection
openConnection
public URLConnection openConnection() throws IOException
URL が参照するリモートオブジェクトへの接続を表す URLConnection オブジェクトを返します。
 
 まだ接続が確立していない場合には、この URL のプロトコルハンドラの openConnection メソッドを呼び出すことによって接続が確立されます。
URLConnection 
     openStream
openStream
public final InputStream openStream() throws IOException
URL への接続を確立し、その接続から入力を受け取るための InputStream を返します。このメソッドは次のメソッドの短縮形です。
 
     openConnection().getInputStream()
 
 getContent
getContent
public final Object getContent() throws IOException
     openConnection().getContent()
 
 setURLStreamHandlerFactory
setURLStreamHandlerFactory
public static synchronized void setURLStreamHandlerFactory(URLStreamHandlerFactory fac)
URLStreamHandlerFactory を設定します。アプリケーションからこのメソッドを最大で 1 回しか呼び出すことができません。
 
 URLStreamHandlerFactory インスタンスを使用すると、プロトコル名からストリームプロトコルハンドラを作成することができます。
全パッケージ クラス階層 このパッケージ 前項目 次項目 インデックス