| 
 | JavaTM 2 Platform Std. Ed. v1.3 | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Object | +--java.net.URL
URL クラスは、World Wide Web 上の「リソース」を指すポインタである URL (Uniform Resource Locator) を表します。リソースは、ファイルやディレクトリのような単純なものであることも、もっと複雑なオブジェクト (データベースや検索エンジンへのクエリーなど) への参照であることもあります。URL のタイプとその形式についての詳細は、次の Web サイトで参照することができます。
 
     http://www.ncsa.uiuc.edu/demoweb/url-primer.html
 
一般に、URL はいくつかの部分に分かれています。上記の例の URL は、使用するプロトコルが http (HyperText Transfer 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」または「参照 (reference)」とも呼ぶ) を追加できます。フラグメントを指定するには、シャープ記号「#」のあとに文字列を指定します。次にフラグメントの例を示します。
     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 spec)String表現からURLオブジェクトを作成します。 | |
| URL(String protocol,
    String host,
    int port,
    String file)指定された protocol、host、port番号、およびfileを使って、URLオブジェクトを作成します。 | |
| URL(String protocol,
    String host,
    int port,
    String file,
    URLStreamHandler handler)指定された protocol、host、port番号、file、およびhandlerを使って、URLオブジェクトを作成します。 | |
| URL(String protocol,
    String host,
    String file)指定された protocol名、host名、およびfile名を使って、URL を作成します。 | |
| URL(URL context,
    String spec)指定されたコンテキスト内の指定された仕様で構文解析することによって、URL を生成します。 | |
| URL(URL context,
    String spec,
    URLStreamHandler handler)指定されたコンテキスト内の指定されたハンドラで、指定された仕様を構文解析して URL を生成します。 | |
| メソッドの概要 | |
|  boolean | equals(Object obj)2 つの URL を比較します。 | 
|  String | getAuthority()この URLの権限部分を返します。 | 
|  Object | getContent()この URL のコンテンツを返します。 | 
|  Object | getContent(Class[] classes)この URL のコンテンツを返します。 | 
|  String | getFile()この URLのファイル名を返します。 | 
|  String | getHost()該当する場合、この URLのホスト名を返します。 | 
|  String | getPath()この URLのパス部分を返します。 | 
|  int | getPort()URLのポート番号を返します。 | 
|  String | getProtocol()この URLのプロトコル名を返します。 | 
|  String | getQuery()この URLのクエリー部分を返します。 | 
|  String | getRef()この URLのアンカー (「参照」とも呼ばれる) を返します。 | 
|  String | getUserInfo()この URLのユーザ情報部分を返します。 | 
|  int | hashCode()ハッシュテーブルのインデックス付けに適した int 値を作成します。 | 
|  URLConnection | openConnection()URLが参照するリモートオブジェクトへの接続を表すURLConnectionオブジェクトを返します。 | 
|  InputStream | openStream()この URLへの接続を確立し、その接続から読み込みを行うためのInputStreamを返します。 | 
|  boolean | sameFile(URL other)2 つの URL の「参照」フィールド以外の部分を比較します。 | 
| protected  void | set(String protocol,
    String host,
    int port,
    String file,
    String ref)URL のフィールドを設定します。 | 
| protected  void | set(String protocol,
    String host,
    int port,
    String authority,
    String userInfo,
    String path,
    String query,
    String ref)指定された URL の 8 フィールドを設定します。 | 
| static void | setURLStreamHandlerFactory(URLStreamHandlerFactory fac)アプリケーションの URLStreamHandlerFactoryを設定します。 | 
|  String | toExternalForm()この URLの文字列表現を構築します。 | 
|  String | toString()この URLの文字列表現を構築します。 | 
| クラス java.lang.Object から継承したメソッド | 
| clone, finalize, getClass, notify, notifyAll, wait, wait, wait | 
| コンストラクタの詳細 | 
public URL(String protocol,
           String host,
           int port,
           String file)
    throws MalformedURLException
protocol、host、port 番号、および file を使って、URL オブジェクトを作成します。port 番号に -1 を指定すると、URL はプロトコルのデフォルトのポートを使うようになります。
指定されたプロトコルで最初に URL オブジェクトを作成するときには、そのプロトコルのためのストリームプロトコルハンドラオブジェクトが作成されます。このストリームプロトコルハンドラオブジェクトは、URLStreamHandler クラスのインスタンスです。
URLStreamHandlerFactory のインスタンスをストリームハンドラファクトリとして設定している場合は、そのインスタンスの createURLStreamHandler メソッドがプロトコル文字列を引数として呼び出されて、ストリームプロトコルハンドラを作成する
URLStreamHandlerFactory が設定されていない場合、あるいはファクトリの createURLStreamHandler メソッドが null を返した場合は、コンストラクタが次のシステムプロパティの値を探す
     
         java.protocol.handler.pkgs
     null でなければ、値は、垂直スラッシュ文字 '|' で区切られた、パッケージのリストとして解釈される。コンストラクタは、次の名前のクラスをロードしようとする
     
         <package>.<protocol>.Handler
     URLStreamHandler のサブクラスではない場合には、リストにある次のクラスを試すことになる
         sun.net.www.protocol.<protocol>.Handler
     URLStreamHandler のサブクラスではない場合には、MalformedURLException がスローされる
protocol - 使用するプロトコル名host - ホスト名port - ホスト上でのポート番号file - ホスト上のファイルMalformedURLException - 未知のプロトコルとして指定された場合System.getProperty(java.lang.String), 
setURLStreamHandlerFactory(java.net.URLStreamHandlerFactory), 
URLStreamHandler, 
URLStreamHandlerFactory.createURLStreamHandler(java.lang.String)
public URL(String protocol,
           String host,
           String file)
    throws MalformedURLException
protocol 名、host 名、および file 名を使って、URL を作成します。指定されたプロトコルのデフォルトのポートを使用します。
このメソッドの機能は、引数に protocol、host、-1、file を指定して 4 つの引数を受け取るコンストラクタを呼び出すのと同じです。
protocol - 使用するプロトコル名host - ホスト名file - ホスト上のファイルMalformedURLException - 未知のプロトコルとして指定された場合URL(java.lang.String, java.lang.String, int, java.lang.String)
public URL(String protocol,
           String host,
           int port,
           String file,
           URLStreamHandler handler)
    throws MalformedURLException
protocol、host、port 番号、file、および handler を使って、URL オブジェクトを作成します。port 番号に -1 を指定すると、URL ではプロトコルのデフォルトのポートが使われます。handler に null を指定すると、URL では次に示す、プロトコルのデフォルトのストリームハンドラが使われます。java.net.URL#URL(java.lang.String, java.lang.String,int, java.lang.String)。
ハンドラが null ではなく、セキュリティマネージャが存在する場合、NetPermission("specifyStreamHandler") アクセス権を指定してセキュリティマネージャの checkPermission メソッドが呼び出されます。この結果、SecurityException になることがあります。
protocol - 使用するプロトコル名host - ホスト名port - ホスト上でのポート番号file - ホスト上のファイルhandler - URL のストリームハンドラMalformedURLException - 未知のプロトコルとして指定された場合SecurityException - セキュリティマネージャが存在し、セキュリティマネージャの checkPermission メソッドがストリームハンドラの明示的な指定を許可しない場合System.getProperty(java.lang.String), 
setURLStreamHandlerFactory(java.net.URLStreamHandlerFactory), 
URLStreamHandler, 
URLStreamHandlerFactory.createURLStreamHandler(java.lang.String), 
SecurityManager.checkPermission(java.security.Permission), 
NetPermission
public URL(String spec)
    throws MalformedURLException
String 表現から URL オブジェクトを作成します。
このコンストラクタは、1 番目の引数に null を指定して、引数が 2 つのコンストラクタを呼び出すことと同じです。
spec - URL として解析される StringMalformedURLException - 文字列に指定されたプロトコルが未知である場合URL(java.net.URL, java.lang.String)
public URL(URL context,
           String spec)
    throws MalformedURLException
          <scheme>://<authority><path>?<query>#<fragment>
 context - 仕様を解析するコンテキストspec - URL として解析される StringMalformedURLException - プロトコルが指定されていないか、未知のプロトコルが見つかった場合URL(java.lang.String, java.lang.String, int, java.lang.String), 
URLStreamHandler, 
URLStreamHandler.parseURL(java.net.URL, java.lang.String, int, int)
public URL(URL context,
           String spec,
           URLStreamHandler handler)
    throws MalformedURLException
context - 仕様を解析するコンテキストspec - URL として解析される Stringhandler - URL のストリームハンドラMalformedURLException - プロトコルが指定されていないか、未知のプロトコルが見つかった場合SecurityException - セキュリティマネージャが存在し、セキュリティマネージャの checkPermission メソッドがストリームハンドラの指定を許可しない場合URL(java.lang.String, java.lang.String, int, java.lang.String), 
URLStreamHandler, 
URLStreamHandler.parseURL(java.net.URL, java.lang.String, int, int)| メソッドの詳細 | 
protected void set(String protocol,
                   String host,
                   int port,
                   String file,
                   String ref)
protocol - 使用するプロトコル名host - ホスト名port - ホスト上でのポート番号file - ホスト上のファイルref - URL の内部参照
protected void set(String protocol,
                   String host,
                   int port,
                   String authority,
                   String userInfo,
                   String path,
                   String query,
                   String ref)
protocol - 使用するプロトコル名host - ホスト名port - ホスト上でのポート番号authority - URL の権限部分userInfo - ユーザ名およびパスワードpath - ホスト上のファイルref - URL の内部参照query - この URL のクエリー部分public String getQuery()
URL のクエリー部分を返します。URL のクエリー部分public String getPath()
URL のパス部分を返します。URL のパス部分public String getUserInfo()
URL のユーザ情報部分を返します。URL のユーザ情報部分public String getAuthority()
URL の権限部分を返します。URL の権限部分public int getPort()
URL のポート番号を返します。ポートが設定されていない場合は -1 を返します。public String getProtocol()
URL のプロトコル名を返します。URL のプロトコルpublic String getHost()
URL のホスト名を返します。URL のホスト名public String getFile()
URL のファイル名を返します。URL のファイル名public String getRef()
URL のアンカー (「参照」とも呼ばれる) を返します。URL のアンカー (「参照」とも呼ばれる)public boolean equals(Object obj)
null ではなく、このオブジェクトと同じ URL を表す URL オブジェクトである場合にだけ、結果が true になります。 2 つの URL オブジェクトが等しいと判断するための条件は、プロトコル、参照先ホスト、ホスト上のポート番号、およびホスト上のファイルとアンカーが等しいことです。Object 内の equalsobj - 比較対象の URLtrue、そうでない場合は falsepublic int hashCode()
Object 内の hashCodeURL に使うハッシュコードpublic boolean sameFile(URL other)
URL と other 引数がどちらも同じリソースを参照している場合は true を返します。2 つの URL は同じアンカーを含んでいない可能性があります。other - 比較対象の URLtrue、そうでない場合は falsepublic String toString()
URL の文字列表現を構築します。このオブジェクトのストリームプロトコルハンドラの toExternalForm メソッドを呼び出すことによって文字列が作成されます。Object 内の toStringURL(java.lang.String, java.lang.String, int, java.lang.String), 
URLStreamHandler.toExternalForm(java.net.URL)public String toExternalForm()
URL の文字列表現を構築します。このオブジェクトのストリームプロトコルハンドラの toExternalForm メソッドを呼び出すことによって文字列が作成されます。URL(java.lang.String, java.lang.String, int, java.lang.String), 
URLStreamHandler.toExternalForm(java.net.URL)
public URLConnection openConnection()
                             throws IOException
URL が参照するリモートオブジェクトへの接続を表す URLConnection オブジェクトを返します。
この URL のプロトコルハンドラの openConnection メソッドを呼び出すたびに、新しい接続が開かれます。
HTTP や JAR などの、URL のプロトコルについては、java.lang、java.io、java.util、または java.net のパッケージ、あるいはそのサブパッケージに属する一般または特殊な URLConnection サブクラスがあります。返される接続は、そのサブクラスのものになります。たとえば、HTTP プロトコルに対しては HttpURLConnection が返され、JAR に対しては JarURLConnection が返されます。
URLConnectionIOException - 入出力例外が発生した場合URL(java.lang.String, java.lang.String, int, java.lang.String), 
URLConnection, 
URLStreamHandler.openConnection(java.net.URL)
public final InputStream openStream()
                             throws IOException
URL への接続を確立し、その接続から読み込みを行うための InputStream を返します。このメソッドは次のメソッドの短縮形です。
 
     openConnection().getInputStream()
 IOException - 入出力例外が発生した場合openConnection(), 
URLConnection.getInputStream()
public final Object getContent()
                        throws IOException
     openConnection().getContent()
 IOException - 入出力例外が発生した場合URLConnection.getContent()
public final Object getContent(Class[] classes)
                        throws IOException
     openConnection().getContent(Class[])
 IOException - 入出力例外が発生した場合URLConnection.getContent(Class[])public static void setURLStreamHandlerFactory(URLStreamHandlerFactory fac)
URLStreamHandlerFactory を設定します。このメソッドは、使用する Java Virtual Machine で 1 回しか呼び出せません。
 URLStreamHandlerFactory インスタンスは、プロトコル名からストリームプロトコルハンドラを構築するのに使用されます。
 セキュリティマネージャが存在する場合、このメソッドは最初にセキュリティマネージャの checkSetFactory メソッドを呼び出すことにより、この操作が許可されていることを確認します。この結果、SecurityException になることがあります。
fac - 目的のファクトリError - アプリケーションでファクトリがすでに設定されている場合SecurityException - セキュリティマネージャが存在し、セキュリティマネージャの checkSetFactory メソッドがこの操作を許可しない場合URL(java.lang.String, java.lang.String, int, java.lang.String), 
URLStreamHandlerFactory, 
SecurityManager.checkSetFactory()| 
 | JavaTM 2 Platform Std. Ed. v1.3 | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
 Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
 Palo Alto, California, 94303, U.S.A.  All Rights Reserved.