クラスURL

java.lang.Object
java.net.URL
すべての実装されたインタフェース:
Serializable

public final class URL extends Object implements Serializable
URLクラスは、Uniform Resource Locator (ユニフォー ・リソース・ロケータ)、つまりWorld Wide Web上の「リソース」へのポインタを表します。 リソースは、ファイルやディレクトリのような単純なものであることも、データベースや検索エンジンに対するクエリーなど、より複雑なオブジェクトへの参照であることもあります。 URLの種類や形式の詳細については、次を参照してく さい。 Types of URL

一般に、URLはいくつかの部分に分解できます。 次の例を検討してく さい:

     http://www.example.com/docs/resource1.html
 

上記のURLは、使用すべきプロトコルがhttp (HyperText Transfer Protocol)であることと、www.example.comという名前のホスト・マシン上に情 が存在していることを示しています。 そのホスト・マシン上の情 には、/docs/resource1.htmlという名前が付けられています。 ホスト・マシン上におけるこの名前の正確な意味は、プロトコルとホストの両方に依存します。 一般的には情 はファイル内に保存されていますが、動的に生成される 合もあります。 URLのこうした部分はパス・コンポーネントと呼ばれます。

URLにはオプションで「ポート」を指定できます。これは、TCP接続の確立先となる、リモート・ホスト・マシン上のポート番号です。 ポートを指定しなかった 合は、代わりにプロトコルのデフォルト・ポートが使用されます。 たとえば、httpのデフォルト・ポートは80です。 次のように別のポートを指定することもできます。

     http://www.example.com:1080/docs/resource1.html
 

URLの構文は、「RFC 2396: Uniform Resource Identifiers (URI): Generic Syntax」で定義され、「RFC 2732: Format for Literal IPv6 Addresses in URLs」で修正されています。 リテラルIPv6アドレス形式ではスコープIDもサポートされます。 スコープIDの構文や使用方法については、ここを参照してく さい。

URLには「フラグメント」(「ref」または「参照(reference)」とも呼ぶ)を追 できます。 フラグメントは、シャープ記号文字「#」とそれに続くいくつかの文字によって示されます。 たとえば、

     http://www.example.com/index.html#chapter1
 

本来は、このフラグメントはURLの一部ではありません。 たとえば、上に示したフラグメントは、指定されたリソースを取得したあと、そのドキュメントの中でchapter1というタグが付いている部分をアプリケーションによる処理の対象とすることを示します。 タグの意味はリソースによって異なります。

アプリケーションは「相対URL」を指定することもできます。このURLには、別のURLを基準としてリソースを検索するのに必要な情 しか含まれていません。 相対URLはHTMLページ内でよく使用されます。 たとえば、次のURLがあるとします。

     http://www.example.com/index.html
 
このHTMLページの中に次の相対URLが含まれているとします。
     FAQ.html
 
これは次の短縮形とみなされます。
     http://www.example.com/FAQ.html
 

相対URLでは、URLのすべてのコンポーネントを指定する必要はありません。 プロトコルやホスト名、ポート番号を省略した 合には、すべてのコンポーネントが指定されているURLから値が継承されます。 ファイル・コンポーネントは指定しなければいけません。 オプション指定のフラグメントは継承されません。

URLのインスタンスの作成

java.net.URLコンストラクタは非推奨です。 開発者は、java.net.URIを使用してURLを解析または構築することをお薦めします。 接続を開くために java.net.URLのインスタンスが必要な 合、URIを使用してURL文字列を構築または解析できます。URI.parseServerAuthority()をコールして、権限コンポーネントをサーバー・ベースの権限として解析できることを確認し、URI.toURL()をコールしてURLインスタンスを作成できます。

URLコンストラクタはMalformedURLExceptionをスローするように指定されていますが、実行される実際の解析/検証は実装によって異なります。 一部の解析/検証は、基礎となる「ストリー ・ハンドラの実装」がコールされるまで遅延する 合があります。 URLのインスタンスを構築できるようにしても、URL構文仕様への準 は保証されません。

URLクラス自体がRFC2396に定義されたエスケープ・メカニズ に従ってURLコンポーネントのエンコードやデコードを行うことはありません。 URLの呼出し前にエスケープの必要なすべてのフィールドをエンコードしておくことは、呼出し元の責任です。URLから返されたすべてのエスケープ済みフィールドをデコードすることも、同様です。 さらに、URLは、URLエスケープの知識を持たないため、同じURLのエンコードされた形式とデコードされた形式の等価性を判断できません。 たとえば、次の2つのURLがあるとします。

    http://foo.com/hello world/ and http://foo.com/hello%20world
これらは、互いに等しくないと見なされます。

URIクラスは特定の状況において、そのコンポーネント・フィールドに対してエスケープ処理を実行することに注意してく さい。 URLのエンコードとデコードを管理する際の推奨の方法は、URIを使用して、これら2つのクラス間の変換をtoURI()URI.toURL()を使って行うことです。

URLEncoderクラスとURLDecoderクラスを使用することもできますが、これらはHTML形式のエンコーディング専用です。また、このエンコーディングは、RFC2396で定義されているエンコーディング方式と同じものではありません。

APIのノート:
ファイル・パスおよびファイルURIを操作するアプリケーションは、2つの間で変換する適切なメソッドを使用することを検討する必要があります。 Path.of(URI)ファクトリ・メソッドおよびFile(URI)コンストラクタを使用して、ファイルURIからPathまたはFileオブジェクトを作成できます。 Path.toUri()およびFile.toURI()を使用して、URI.toURL()を使用してURLに変換できるファイル・パスからURIを作成できます。 アプリケーションは、FileまたはPathインスタンスの直接文字列表現からURLconstructまたはparseしないでく さい。

URIからURLを構築する前に、関連するプロトコルに応じて、アプリケーションはURI権限「サーバー・ベースとして解析できます」の検証を検討する必要があります。

URLまたはURIの一部のコンポーネント(userinfoなど)は、先行するURLまたはURIの構築に不正に使用される可能性があります。 Urlまたはuriを処理するアプリケーションは、「RFC3986,セクション7,セキュリティに関する考慮事 」で推奨される推奨事 を考慮してく さい。

すべてのURLコンストラクタは、MalformedURLExceptionをスローできます。 特に、基礎となるURLStreamHandler実装が拒否するか、拒否することがわかっている 合は、パラメータMalformedURLExceptionがスローされます。 通常、ストリー ・ハンドラの「parseURLメソッド」をコールするコンストラクタは、そのメソッドの基礎となるストリー ・ハンドラ実装がIllegalArgumentExceptionをスローする 合、MalformedURLExceptionをスローすることがあります。 た し、ストリー ・ハンドラによってどのチェックが実行されるかは実装に依存するため、呼出し元は、完全なURL検証についてそのようなチェックに依存しないでく さい。

導入されたバージョン:
1.0
外部仕様
関連 目:
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    URL(String spec)
    非推奨。
    URI.toURL()を使用して、URLのインスタンスを作成します。
    URL(String protocol, String host, int port, String file)
    非推奨。
    URI.toURL()を使用して、URLのインスタンスを作成します。
    URL(String protocol, String host, int port, String file, URLStreamHandler handler)
    非推奨。
    of(URI, URLStreamHandler)を使用して、カスタ ・プロトコル・ハンドラに関連付けられたURLのインスタンスを構築します。
    URL(String protocol, String host, String file)
    非推奨。
    URI.toURL()を使用して、URLのインスタンスを作成します。
    URL(URL context, String spec)
    非推奨。
    URI.toURL()を使用して、URLのインスタンスを作成します。
    URL(URL context, String spec, URLStreamHandler handler)
    非推奨。
    of(URI, URLStreamHandler)を使用して、カスタ ・プロトコル・ハンドラに関連付けられたURLのインスタンスを構築します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    boolean
    このURLと別のオブジェクトとが等しいかどうかを比較します。
    このURLの機関部分を取得します。
    final Object
    このURLのコンテンツを取得します。
    final Object
    getContent(Class<?>[] classes)
    このURLのコンテンツを取得します。
    int
    このURLに関連するプロトコルのデフォルトのポート番号を取得します。
    このURLのファイル名を取得します。
    該当する 合、このURLのホスト名を取得します。
    このURLのパス部分を取得します。
    int
    このURLのポート番号を取得します。
    このURLのプロトコル名を取得します。
    このURLのクエリー部分を取得します。
    このURLのアンカー(「参照」とも呼ばれる)を取得します。
    このURLのユーザー情 部分を取得します。
    int
    ハッシュ表のインデックス付けに適したint値を作成します。
    static URL
    of(URI uri, URLStreamHandler handler)
    uri.toURL()を起動するかのようにURIからURLを作成しますが、許可されている 合は指定されたURLStreamHandlerに関連付けます。
    URLが参照するリモート・オブジェクトへの接続を表すURLConnectionインスタンスを返します。
    openConnection()と同じですが、指定されたプロキシを介して接続が行われます。プロキシをサポートしないプロトコル・ハンドラは、プロキシ・パラメータを無視し、通常の接続を作成します。
    このURLへの接続を開き、その接続から読み込むためのInputStreamを返します。
    boolean
    sameFile(URL other)
    フラグメント・コンポーネント以外の2つのURLを比較します。
    static void
    アプリケーションのURLStreamHandlerFactoryを設定します。
    このURLの文字列表現を構築します。
    このURLの文字列表現を構築します。
    このURLと等価なURIを返します。

    クラスjava.lang.Objectで宣言されたメソッド

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • コンストラクタの詳細

    • URL

      @Deprecated(since="20") public URL(String protocol, String host, int port, String file) throws MalformedURLException
      非推奨。
      URI.toURL()を使用して、URLのインスタンスを作成します。 詳細は、「コンストラクタの非推奨」のノートを参照してく さい。
      指定されたprotocolhostport番号、およびfileから、URLオブジェクトを作成します。

      hostは、ホスト名、リテラルIPアドレスのいずれかとして表現できます。 IPv6リテラル・アドレスを使用する 合は、RFC 2732で指定されているように、アドレスを角カッコ(「[」「]」)で囲む必要があります。た し、「RFC 2373: IP Version 6 Addressing Architecture」で定義されているリテラルIPv6アドレス形式も、使用可能です。

      port番号-1の指定は、URLがプロトコルのデフォルトのポートを使用することを示します。

      指定されたプロトコルで最初にURLオブジェクトを生成するときには、そのプロトコルのためのストリー ・プロトコル・ハンドラ・オブジェクトが生成されます。このストリー ・プロトコル・ハンドラ・オブジェクトは、URLStreamHandlerクラスのインスタンスです。

      1. 以前にアプリケーションがURLStreamHandlerFactoryのインスタンスをストリー ・ハンドラ・ファクトリとして設定している 合は、そのインスタンスのcreateURLStreamHandlerメソッドがプロトコル文字列を引数として呼び出されて、ストリー ・プロトコル・ハンドラを作成する。
      2. URLStreamHandlerFactoryがま 設定されていない 合、またはファクトリのcreateURLStreamHandlerメソッドがnullを返す 合、ServiceLoaderメカニズ を使用して、システ ・クラス・ローダーを使用してURLStreamHandlerProvider実装を検索します。 プロバイダが配置される 序は実装固有であり、実装は検出されたプロバイダを自由にキャッシュできます。 createURLStreamHandlerからスローされたServiceConfigurationErrorErrorまたはRuntimeExceptionが検出されると、コール元のスレッドに伝播されます。 プロバイダがnull以外を返すか、すべてのプロバイダが使い果たされるまで、各プロバイダの createURLStreamHandlerメソッド(インスタンス化されている 合)がプロトコル文字列とともに呼び出されます。
      3. 前のステップでプロトコル・ハンドラが見つからない 合、コンストラクタはシステ ・プロパティの値を読み取ります:
        java.protocol.handler.pkgs
        このシステ ・プロパティの値がnullでなければ、値は、垂直スラッシュ文字「|」で区切られた、パッケージのリストとして解釈される。 コンストラクタは次の名前を持つクラスをロードしようとする。
        <package>.<protocol>.Handler
        ここで、<package>はパッケージの名前に置換され、<protocol>はプロトコルの名前に置換されます。 このクラスが存在しない 合、あるいはクラスは存在してもそれがURLStreamHandlerのサブクラスではない 合には、リストにある次のパッケージを試すことになる。
      4. 前のステップでプロトコル・ハンドラが見つからない 合、コンストラクタは組込みプロトコル・ハンドラのロードを試みます。 このクラスが存在しない 合、またはクラスは存在するがURLStreamHandlerのサブクラスではない 合は、MalformedURLExceptionがスローされる。

      次のプロトコルのプロトコル・ハンドラは、検索パスに存在することが保証されます:

      • http
      • https
      • file
      • jar
      その他のプロトコルのプロトコル・ハンドラも使用可能になっている可能性があります。 一部のプロトコル・ハンドラ(たとえば、クラス・パスでプラットフォー ・クラスまたはクラスをロードするために使用されるもの)は、オーバーライドされない 合があります。 このような制限の詳細、およびこれらの制限が(実行時の初期化中など)に適用される 合は、実装に固有であるため指定されません

      このコンストラクタによる入力の検証は実行されません。

      パラメータ:
      protocol - 使用するプロトコル名。
      host - ホスト名。
      port - ホスト上でのポート番号。
      file - ホスト上のファイル
      スロー:
      MalformedURLException - 不明なプロトコルまたはポートが -1以外の の数値である 合、または基礎となるストリー ・ハンドラの実装が拒否または拒否されることがわかっている 合は、URL
      外部仕様
      関連 目:
    • URL

      @Deprecated(since="20") public URL(String protocol, String host, String file) throws MalformedURLException
      非推奨。
      URI.toURL()を使用して、URLのインスタンスを作成します。 詳細は、「コンストラクタの非推奨」のノートを参照してく さい。
      指定されたprotocol名、host名、およびfile名からURLを作成します。 指定されたプロトコルのデフォルト・ポートが使用されます。

      このコンストラクタは、指定されたプロトコルでデフォルト・ポートを使用する唯一の違いを持つ4つの引数コンストラクタと同等です。 このコンストラクタによる入力の検証は実行されません。

      パラメータ:
      protocol - 使用するプロトコル名。
      host - ホスト名。
      file - ホスト上のファイル。
      スロー:
      MalformedURLException - 不明なプロトコルが指定されている 合、または基礎となるストリー ・ハンドラ実装が拒否するか、拒否することがわかっている 合は、URL
      関連 目:
    • URL

      @Deprecated(since="20") public URL(String protocol, String host, int port, String file, URLStreamHandler handler) throws MalformedURLException
      非推奨。
      of(URI, URLStreamHandler)を使用して、カスタ ・プロトコル・ハンドラに関連付けられたURLのインスタンスを構築します。 詳細は、「コンストラクタの非推奨」のノートを参照してく さい。
      指定されたprotocolhostport番号、file、およびhandlerから、URLオブジェクトを作成します。 port番号-1の指定は、URLがプロトコルのデフォルトのポートを使用することを示します。 nullhandlerを指定することは、URLでプロトコルのデフォルト・ストリー ・ハンドラを使用する必要があることを示します: URL(java.lang.String, java.lang.String, int, java.lang.String)入力の検証は、このコンストラクタでは実行されません。
      パラメータ:
      protocol - 使用するプロトコル名。
      host - ホスト名。
      port - ホスト上でのポート番号。
      file - ホスト上のファイル
      handler - URLのストリー ・ハンドラ。
      スロー:
      MalformedURLException - 不明なプロトコルまたはポートが -1以外の の数値である 合、または基礎となるストリー ・ハンドラの実装が拒否または拒否されることがわかっている 合は、URL
      関連 目:
    • URL

      @Deprecated(since="20") public URL(String spec) throws MalformedURLException
      非推奨。
      URI.toURL()を使用して、URLのインスタンスを作成します。 詳細は、「コンストラクタの非推奨」のノートを参照してく さい。
      String表現からURLオブジェクトを生成します。

      このコンストラクタは、1番目の引数にnullを指定して、引数が2つのコンストラクタを呼び出すことと同じです。

      パラメータ:
      spec - URLとして構文解析されるString
      スロー:
      MalformedURLException - プロトコルが指定されていないか、不明なプロトコルが見つかったか、specnullの 合、解析されたURLが関連付けられているプロトコルの特定の構文に準 していないか、基礎となるストリー ・ハンドラの「parseURLメソッド」IllegalArgumentExceptionをスロー
      関連 目:
    • URL

      @Deprecated(since="20") public URL(URL context, String spec) throws MalformedURLException
      非推奨。
      URI.toURL()を使用して、URLのインスタンスを作成します。 詳細は、「コンストラクタの非推奨」のノートを参照してく さい。
      指定されたコンテキスト内の指定された仕様で構文解析することによって、URLを生成します。 新しいURLは、RFC2396 "Uniform Resource Identifiers : Generic Syntax"で説明されているように、指定されたコンテキストURLおよびspec引数から作成されます :
                <scheme>://<authority><path>?<query>#<fragment>
       
      参照はスキー 、機関、パス、クエリー、およびフラグメントの各部分に構文解析されます。 パス・コンポーネントが空でスキー 、機関、およびクエリーの各コンポーネントが未定義の 合、新しいURLが現在のドキュメントへの参照となります。 それ以外の 合は、仕様のフラグメント部分とクエリー部分が新しいURLに使われます。

      指定された仕様でスキー ・コンポーネントが定義され、そのスキー ・コンポーネントがコンテキストのスキー と一致しない 合、仕様 けに基づく絶対URLとして新しいURLが生成されます。 そうでない 合は、スキー ・コンポーネントはコンテキストURLを継承します。

      機関コンポーネントが仕様にある 合には、仕様は絶対的なものとして扱われ、仕様の機関とパスはコンテキストの機関とパスを置換します。 仕様に機関コンポーネントがない 合、新しいURLの機関はコンテキストを継承します。

      仕様のパス・コンポーネントがスラッシュ文字「/」で始まる 合、パスは絶対的なものとして扱われ、仕様のパスがコンテキストのパスを置換します。

      それ以外の 合、RFC2396で説明されているように、パスは相対パスとして扱われ、コンテキスト・パスに追 されます。 また、この 合、「..」および「.」によって行われたディレクトリ変更を削除することで、パスは正規化されます。

      URL構文解析の詳細な説明については、RFC2396を参照してく さい。

      実装要件:
      URLの解析には、選択したハンドラでのparseURLメソッドの呼出しが含まれます。
      パラメータ:
      context - 仕様を構文解析するコンテキスト。
      spec - URLとして構文解析されるString
      スロー:
      MalformedURLException - プロトコルが指定されていないか、不明なプロトコルが見つかったか、specnullの 合、解析されたURLが関連付けられているプロトコルの特定の構文に準 していないか、基礎となるストリー ・ハンドラの「parseURLメソッド」IllegalArgumentExceptionをスロー
      関連 目:
    • URL

      @Deprecated(since="20") public URL(URL context, String spec, URLStreamHandler handler) throws MalformedURLException
      非推奨。
      of(URI, URLStreamHandler)を使用して、カスタ ・プロトコル・ハンドラに関連付けられたURLのインスタンスを構築します。 詳細は、「コンストラクタの非推奨」のノートを参照してく さい。
      指定されたコンテキスト内の指定されたハンドラで、指定された仕様を構文解析してURLを生成します。 ハンドラがnullの 合、2つの引数を取るコンストラクタと同様の解析が行われます。
      実装要件:
      URLの解析には、選択したハンドラでのparseURLメソッドの呼出しが含まれます。
      パラメータ:
      context - 仕様を構文解析するコンテキスト。
      spec - URLとして構文解析されるString
      handler - URLのストリー ・ハンドラ。
      スロー:
      MalformedURLException - プロトコルが指定されていないか、不明なプロトコルが見つかったか、specnullの 合、解析されたURLが関連付けられているプロトコルの特定の構文に準 していないか、基礎となるストリー ・ハンドラの「parseURLメソッド」IllegalArgumentExceptionをスロー
      関連 目:
  • メソッドの詳細

    • of

      public static URL of(URI uri, URLStreamHandler handler) throws MalformedURLException
      uri.toURL()を起動するかのようにURIからURLを作成しますが、許可されている 合は指定されたURLStreamHandlerに関連付けます。
      APIのノート:
      アプリケーションでは、URLを構築して接続を開く前に、追 の整合性チェックの実行を検討する必要があります。 クラス・レベルのAPIドキュメントの「APIノート」を参照してく さい。
      実装要件:
      このメソッドの実装には、選択したハンドラでのparseURLメソッドの呼出しが含まれます。
      パラメータ:
      uri - 返されたURLの構築元となるURI
      handler - 返されたURLのカスタ ・プロトコル・ストリー ・ハンドラ。 nullを指定できます。その 合は、プロトコルのデフォルトのストリー ・ハンドラ(ある 合)が使用されます。
      戻り値:
      指定されたURIから作成され、指定されたURLStreamHandlerに関連付けられている新しいURLインスタンス(ある 合)
      スロー:
      NullPointerException - urinullである 合
      IllegalArgumentException - プロトコルが指定されていない 合 (「URIスキー 」nullです)、またはURLStreamHandlernullでなく、指定されたプロトコルに設定できない 合
      MalformedURLException - 不明なプロトコルが見つかった 合、または指定されたURIが関連するプロトコルの特定の構文に準 していない 合、または基礎となるストリー ・ハンドラの「parseURLメソッド」IllegalArgumentExceptionをスローした 合
      導入されたバージョン:
      20
      関連 目:
    • getQuery

      public String getQuery()
      このURLのクエリー部分を取得します。
      戻り値:
      このURLのクエリー部分。存在しない 合はnull
      導入されたバージョン:
      1.3
    • getPath

      public String getPath()
      このURLのパス部分を取得します。
      戻り値:
      このURLのパス部分。存在しない 合は空の文字列
      導入されたバージョン:
      1.3
    • getUserInfo

      public String getUserInfo()
      このURLのユーザー情 部分を取得します。
      戻り値:
      このURLのユーザー情 部分。存在しない 合はnull
      導入されたバージョン:
      1.3
    • getAuthority

      public String getAuthority()
      このURLの機関部分を取得します。
      戻り値:
      このURLの機関部分
      導入されたバージョン:
      1.3
    • getPort

      public int getPort()
      このURLのポート番号を取得します。
      戻り値:
      ポート番号。ポートが設定されていない 合は -1
    • getDefaultPort

      public int getDefaultPort()
      このURLに関連するプロトコルのデフォルトのポート番号を取得します。 URLスキー またはURLのURLStreamHandlerがデフォルトのポート番号を定義しない 合は、-1が返されます。
      戻り値:
      ポート番号
      導入されたバージョン:
      1.4
    • getProtocol

      public String getProtocol()
      このURLのプロトコル名を取得します。
      戻り値:
      このURLのプロトコル。
    • getHost

      public String getHost()
      該当する 合、このURLのホスト名を取得します。 ホスト名の形式はRFC 2732に準 します。つまり、リテラルIPv6アドレスの 合、このメソッドは角カッコ(「[」および「]」)で囲まれたIPv6アドレスを返します。
      戻り値:
      このURLのホスト名。
    • getFile

      public String getFile()
      このURLのファイル名を取得します。 返されるファイル部分は、getQuery()の値が存在する 合には、その値とgetPath()の値を連結したものと同じになります。 クエリー部分が存在しない 合、このメソッドとgetPath()は同じ結果を返します。
      戻り値:
      このURLのファイル名。存在しない 合は空の文字列
    • getRef

      public String getRef()
      このURLのアンカー(「参照」とも呼ばれる)を取得します。
      戻り値:
      このURLのアンカー(「参照」とも呼ばれる)。存在しない 合はnull
    • equals

      public boolean equals(Object obj)
      このURLと別のオブジェクトとが等しいかどうかを比較します。

      指定されたオブジェクトがURLでない 合、このメソッドは直ちにfalseを返します。

      2つのURLオブジェクトが等しいのは、同じプロトコルを持ち、同じホストを参照し、ホスト上のポート番号が同じで、ファイルとファイルのフラグメントが同じ 合です。

      2つのホストが等価と見なされるのは、両方のホスト名が同じIPアドレスに解決されるか、どちらかのホスト名を解決できない 合は、大文字小文字に関係なくホスト名が等しいか、両方のホスト名がnullに等しい 合です。

      ホスト比較には名前解決が必要なので、この操作はブロック操作です。

      ノート: equalsの定義された動作は、HTTPの仮想ホストと一致しないことが知られています。

      オーバーライド:
      equals、クラスObject
      パラメータ:
      obj−比較対象のURL。
      戻り値:
      オブジェクトが同じである 合はtrue、そうでない 合はfalse
      関連 目:
    • hashCode

      public int hashCode()
      ハッシュ表のインデックス付けに適したint値を作成します。

      ハッシュ・コードはURL比較に関連するすべてのURLコンポーネントに基づいています。 したがって、この操作はブロック操作です。

      オーバーライド:
      hashCode、クラスObject
      戻り値:
      URLのハッシュ・コード。
      関連 目:
    • sameFile

      public boolean sameFile(URL other)
      フラグメント・コンポーネント以外の2つのURLを比較します。

      フラグメント・コンポーネントを考慮しないで、このURLother引数が等しい 合は、trueを返します。

      パラメータ:
      other - 比較対象のURL
      戻り値:
      参照するリモート・オブジェクトが同じである 合はtrue、そうでない 合はfalse
    • toString

      public String toString()
      このURLの文字列表現を構築します。 このオブジェクトのストリー ・プロトコル・ハンドラのtoExternalFormメソッドを呼び出すことによって文字列が作成されます。
      オーバーライド:
      toString、クラスObject
      戻り値:
      このオブジェクトの文字列表現。
      関連 目:
    • toExternalForm

      public String toExternalForm()
      このURLの文字列表現を構築します。 このオブジェクトのストリー ・プロトコル・ハンドラのtoExternalFormメソッドを呼び出すことによって文字列が作成されます。
      戻り値:
      このオブジェクトの文字列表現。
      関連 目:
    • toURI

      public URI toURI() throws URISyntaxException
      このURLと等価なURIを返します。 このメソッドは、new URI (this.toString())と同じように機能します。

      RFC 2396に準 したURLインスタンスは必ずURIに変換できることに注意してく さい。 た し、厳密に準 していないURLは、URIに変換できない可能性があります。

      戻り値:
      このURLと等価なURIインスタンス。
      スロー:
      URISyntaxException - このURLが厳密にRFC2396に従った形式ではなく、URIに変換できない 合。
      導入されたバージョン:
      1.5
    • openConnection

      public URLConnection openConnection() throws IOException
      URLが参照するリモート・オブジェクトへの接続を表すURLConnectionインスタンスを返します。

      このURLのプロトコル・ハンドラのURLStreamHandler.openConnection(URL)メソッドを呼び出すたびに、URLConnectionの新しいインスタンスが作成されます。

      URLConnectionインスタンスは作成時に実際のネットワーク接続を確立しないことに注意してく さい。 これが発生するのは、URLConnection.connect()の呼出し時のみです。

      HTTPやJARといったURLのプロトコルごとに一般または特殊なURLConnectionサブクラスが存在しており、そのサブクラスは次のパッケージまたはそのサブパッケージのいずれかに属します。java.lang、java.io、java.util, java.net。返される接続の型は、そのサブクラスになります。 たとえば、HTTPの 合はHttpURLConnectionが返され、JARの 合はJarURLConnectionが返されます。

      戻り値:
      URLにリンクしているURLConnection
      スロー:
      IOException - 入出力例外が発生した 合。
      関連 目:
    • openConnection

      public URLConnection openConnection(Proxy proxy) throws IOException
      openConnection()と同じですが、指定されたプロキシを介して接続が行われます。プロキシをサポートしないプロトコル・ハンドラは、プロキシ・パラメータを無視し、通常の接続を作成します。 このメソッドを呼び出すと、システ のデフォルトのProxySelector設定が優先されます。
      パラメータ:
      proxy−この接続の確立に使用されるプロキシ。 直接接続を行いたい 合はProxy.NO_PROXYを指定すべきである。
      戻り値:
      URLへのURLConnection
      スロー:
      IOException - 入出力例外が発生した 合。
      IllegalArgumentException−プロキシがnullであるかプロキシの型が正しくない 合にスローされる
      UnsupportedOperationException−プロトコル・ハンドラを実装するサブクラスがこのメソッドをサポートしない 合。
      導入されたバージョン:
      1.5
      関連 目:
    • openStream

      public final InputStream openStream() throws IOException
      このURLへの接続を開き、その接続から読み込むためのInputStreamを返します。 このメソッドは次のメソッドの短縮形です。
           openConnection().getInputStream()
       
      戻り値:
      URL接続から入力を読み込むための入力ストリー 。
      スロー:
      IOException - 入出力例外が発生した 合。
      関連 目:
    • getContent

      public final Object getContent() throws IOException
      このURLのコンテンツを取得します。 このメソッドは次のメソッドの短縮形です。
           openConnection().getContent()
       
      戻り値:
      このURLのコンテンツ。
      スロー:
      IOException - 入出力例外が発生した 合。
      関連 目:
    • getContent

      public final Object getContent(Class<?>[] classes) throws IOException
      このURLのコンテンツを取得します。 このメソッドは次のメソッドの短縮形です。
           openConnection().getContent(classes)
       
      パラメータ:
      classes−Java型の配列
      戻り値:
      クラスの配列で指定された型が最初に一致した、このURLのコンテンツ・オブジェクト。要求された型がサポートされていない 合はnull。
      スロー:
      IOException - 入出力例外が発生した 合。
      導入されたバージョン:
      1.3
      関連 目:
    • setURLStreamHandlerFactory

      public static void setURLStreamHandlerFactory(URLStreamHandlerFactory fac)
      アプリケーションのURLStreamHandlerFactoryを設定します。 このメソッドは、使用するJava仮想マシンで1回しか呼び出せません。

      URLStreamHandlerFactoryインスタンスは、プロトコル名からストリー ・プロトコル・ハンドラを構築するのに使用されます。

      パラメータ:
      fac - 目的のファクトリ。
      スロー:
      Error−アプリケーションでファクトリがすでに設定されている 合。
      関連 目: