- すべての実装されたインタフェース:
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インスタンスの直接文字列表現からURLをconstructまたはparseしないでください。URIからURLを構築する前に、関連するプロトコルに応じて、アプリケーションはURI権限「サーバー・ベースとして解析できます」の検証を検討する必要があります。URLまたはURIの一部のコンポーネント(userinfoなど)は、先行するURLまたはURIの構築に不正に使用される可能性があります。 Urlまたはuriを処理するアプリケーションは、「RFC3986,セクション7,セキュリティに関する考慮事項」で推奨される推奨事項を考慮してください。
すべての
URLコンストラクタは、MalformedURLExceptionをスローできます。 特に、基礎となるURLStreamHandler実装が拒否するか、拒否することがわかっている場合は、パラメータMalformedURLExceptionがスローされます。 通常、ストリーム・ハンドラの「parseURLメソッド」をコールするコンストラクタは、そのメソッドの基礎となるストリーム・ハンドラ実装がIllegalArgumentExceptionをスローする場合、MalformedURLExceptionをスローすることがあります。 ただし、ストリーム・ハンドラによってどのチェックが実行されるかは実装に依存するため、呼出し元は、完全なURL検証についてそのようなチェックに依存しないでください。 - 導入されたバージョン:
- 1.0
- 外部仕様
- 関連項目:
-
コンストラクタのサマリー
コンストラクタコンストラクタ説明非推奨。非推奨。URI.toURL()を使用して、URLのインスタンスを作成します。URL(String protocol, String host, int port, String file, URLStreamHandler handler) 非推奨。of(URI, URLStreamHandler)を使用して、カスタム・プロトコル・ハンドラに関連付けられたURLのインスタンスを構築します。非推奨。URI.toURL()を使用して、URLのインスタンスを作成します。非推奨。URI.toURL()を使用して、URLのインスタンスを作成します。URL(URL context, String spec, URLStreamHandler handler) 非推奨。of(URI, URLStreamHandler)を使用して、カスタム・プロトコル・ハンドラに関連付けられたURLのインスタンスを構築します。 -
メソッドのサマリー
修飾子と型メソッド説明booleanこのURLと別のオブジェクトとが等しいかどうかを比較します。このURLの機関部分を取得します。final ObjectこのURLのコンテンツを取得します。final ObjectgetContent(Class<?>[] classes) このURLのコンテンツを取得します。intこのURLに関連するプロトコルのデフォルトのポート番号を取得します。getFile()このURLのファイル名を取得します。getHost()該当する場合、このURLのホスト名を取得します。getPath()このURLのパス部分を取得します。intgetPort()このURLのポート番号を取得します。このURLのプロトコル名を取得します。getQuery()このURLのクエリー部分を取得します。getRef()このURLのアンカー(「参照」とも呼ばれる)を取得します。このURLのユーザー情報部分を取得します。inthashCode()ハッシュ表のインデックス付けに適したint値を作成します。static URLof(URI uri, URLStreamHandler handler) uri.toURL()を起動するかのようにURIからURLを作成しますが、許可されている場合は指定されたURLStreamHandlerに関連付けます。URLが参照するリモート・オブジェクトへの接続を表すURLConnectionインスタンスを返します。openConnection(Proxy proxy) openConnection()と同じですが、指定されたプロキシを介して接続が行われます。プロキシをサポートしないプロトコル・ハンドラは、プロキシ・パラメータを無視し、通常の接続を作成します。final InputStreamこのURLへの接続を開き、その接続から読み込むためのInputStreamを返します。booleanフラグメント・コンポーネント以外の2つのURLを比較します。static voidアプリケーションのURLStreamHandlerFactoryを設定します。このURLの文字列表現を構築します。toString()このURLの文字列表現を構築します。toURI()このURLと等価なURIを返します。
-
コンストラクタの詳細
-
URL
@Deprecated(since="20") public URL(String protocol, String host, int port, String file) throws MalformedURLException 非推奨。URI.toURL()を使用して、URLのインスタンスを作成します。 詳細は、「コンストラクタの非推奨」のノートを参照してください。指定されたprotocol、host、port番号、およびfileから、URLオブジェクトを作成します。hostは、ホスト名、リテラルIPアドレスのいずれかとして表現できます。 IPv6リテラル・アドレスを使用する場合は、RFC 2732で指定されているように、アドレスを角カッコ(「[」と「]」)で囲む必要があります。ただし、「RFC 2373: IP Version 6 Addressing Architecture」で定義されているリテラルIPv6アドレス形式も、使用可能です。port番号-1の指定は、URLがプロトコルのデフォルトのポートを使用することを示します。指定されたプロトコルで最初にURLオブジェクトを生成するときには、そのプロトコルのためのストリーム・プロトコル・ハンドラ・オブジェクトが生成されます。このストリーム・プロトコル・ハンドラ・オブジェクトは、
URLStreamHandlerクラスのインスタンスです。- 以前にアプリケーションが
URLStreamHandlerFactoryのインスタンスをストリーム・ハンドラ・ファクトリとして設定している場合は、そのインスタンスのcreateURLStreamHandlerメソッドがプロトコル文字列を引数として呼び出されて、ストリーム・プロトコル・ハンドラを作成する。 URLStreamHandlerFactoryがまだ設定されていない場合、またはファクトリのcreateURLStreamHandlerメソッドがnullを返す場合、ServiceLoaderメカニズムを使用して、システム・クラス・ローダーを使用してURLStreamHandlerProvider実装を検索します。 プロバイダが配置される順序は実装固有であり、実装は検出されたプロバイダを自由にキャッシュできます。createURLStreamHandlerからスローされたServiceConfigurationError、ErrorまたはRuntimeExceptionが検出されると、コール元のスレッドに伝播されます。 プロバイダがnull以外を返すか、すべてのプロバイダが使い果たされるまで、各プロバイダのcreateURLStreamHandlerメソッド(インスタンス化されている場合)がプロトコル文字列とともに呼び出されます。- 前のステップでプロトコル・ハンドラが見つからない場合、コンストラクタはシステム・プロパティの値を読み取ります:
このシステム・プロパティの値がjava.protocol.handler.pkgsnullでなければ、値は、垂直スラッシュ文字「|」で区切られた、パッケージのリストとして解釈される。 コンストラクタは次の名前を持つクラスをロードしようとする。
ここで、<package>.<protocol>.Handler<package>はパッケージの名前に置換され、<protocol>はプロトコルの名前に置換されます。 このクラスが存在しない場合、あるいはクラスは存在してもそれがURLStreamHandlerのサブクラスではない場合には、リストにある次のパッケージを試すことになる。 - 前のステップでプロトコル・ハンドラが見つからない場合、コンストラクタは組込みプロトコル・ハンドラのロードを試みます。 このクラスが存在しない場合、またはクラスは存在するが
URLStreamHandlerのサブクラスではない場合は、MalformedURLExceptionがスローされる。
次のプロトコルのプロトコル・ハンドラは、検索パスに存在することが保証されます:
httphttpsfilejar
このコンストラクタによる入力の検証は実行されません。
- パラメータ:
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のインスタンスを構築します。 詳細は、「コンストラクタの非推奨」のノートを参照してください。指定されたprotocol、host、port番号、file、およびhandlerから、URLオブジェクトを作成します。port番号-1の指定は、URLがプロトコルのデフォルトのポートを使用することを示します。nullのhandlerを指定することは、URLでプロトコルのデフォルト・ストリーム・ハンドラを使用する必要があることを示します:URL(java.lang.String, java.lang.String, int, java.lang.String)ハンドラがnullではなく、セキュリティ・マネージャが存在する場合、
NetPermission("specifyStreamHandler")アクセス権を指定してセキュリティ・マネージャのcheckPermissionメソッドが呼び出されます。 その結果、SecurityExceptionが発生することがあります。 このコンストラクタによる入力の検証は実行されません。- パラメータ:
protocol- 使用するプロトコル名。host- ホスト名。port- ホスト上でのポート番号。file- ホスト上のファイルhandler- URLのストリーム・ハンドラ。- スロー:
MalformedURLException- 不明なプロトコルまたはポートが -1以外の負の数値である場合、または基礎となるストリーム・ハンドラの実装が拒否または拒否されることがわかっている場合は、URLSecurityException−セキュリティ・マネージャが存在し、セキュリティ・マネージャのcheckPermissionメソッドがストリーム・ハンドラの明示的な指定を許可しない場合。- 関連項目:
-
URL
@Deprecated(since="20") public URL(String spec) throws MalformedURLException 非推奨。URI.toURL()を使用して、URLのインスタンスを作成します。 詳細は、「コンストラクタの非推奨」のノートを参照してください。String表現からURLオブジェクトを生成します。このコンストラクタは、1番目の引数に
nullを指定して、引数が2つのコンストラクタを呼び出すことと同じです。- パラメータ:
spec- URLとして構文解析されるString。- スロー:
MalformedURLException- プロトコルが指定されていないか、不明なプロトコルが見つかったか、specがnullの場合、解析された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引数から作成されます :
参照はスキーム、機関、パス、クエリー、およびフラグメントの各部分に構文解析されます。 パス・コンポーネントが空でスキーム、機関、およびクエリーの各コンポーネントが未定義の場合、新しいURLが現在のドキュメントへの参照となります。 それ以外の場合は、仕様のフラグメント部分とクエリー部分が新しいURLに使われます。<scheme>://<authority><path>?<query>#<fragment>指定された仕様でスキーム・コンポーネントが定義され、そのスキーム・コンポーネントがコンテキストのスキームと一致しない場合、仕様だけに基づく絶対URLとして新しいURLが生成されます。 そうでない場合は、スキーム・コンポーネントはコンテキストURLを継承します。
機関コンポーネントが仕様にある場合には、仕様は絶対的なものとして扱われ、仕様の機関とパスはコンテキストの機関とパスを置換します。 仕様に機関コンポーネントがない場合、新しいURLの機関はコンテキストを継承します。
仕様のパス・コンポーネントがスラッシュ文字「/」で始まる場合、パスは絶対的なものとして扱われ、仕様のパスがコンテキストのパスを置換します。
それ以外の場合、RFC2396で説明されているように、パスは相対パスとして扱われ、コンテキスト・パスに追加されます。 また、この場合、「..」および「.」によって行われたディレクトリ変更を削除することで、パスは正規化されます。
URL構文解析の詳細な説明については、RFC2396を参照してください。
- 実装要件:
- URLの解析には、選択したハンドラでの
parseURLメソッドの呼出しが含まれます。 - パラメータ:
context- 仕様を構文解析するコンテキスト。spec- URLとして構文解析されるString。- スロー:
MalformedURLException- プロトコルが指定されていないか、不明なプロトコルが見つかったか、specがnullの場合、解析された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- プロトコルが指定されていないか、不明なプロトコルが見つかったか、specがnullの場合、解析されたURLが関連付けられているプロトコルの特定の構文に準拠していないか、基礎となるストリーム・ハンドラの「parseURLメソッド」がIllegalArgumentExceptionをスローSecurityException−セキュリティ・マネージャが存在し、セキュリティ・マネージャのcheckPermissionメソッドがストリーム・ハンドラの指定を許可しない場合。- 関連項目:
-
-
メソッドの詳細
-
of
public static URL of(URI uri, URLStreamHandler handler) throws MalformedURLException uri.toURL()を起動するかのようにURIからURLを作成しますが、許可されている場合は指定されたURLStreamHandlerに関連付けます。- APIのノート:
- アプリケーションでは、
URLを構築して接続を開く前に、追加の整合性チェックの実行を検討する必要があります。 クラス・レベルのAPIドキュメントの「APIノート」を参照してください。 - 実装要件:
- このメソッドの実装には、選択したハンドラでの
parseURLメソッドの呼出しが含まれます。 - パラメータ:
uri- 返されたURLの構築元となるURIhandler- 返されたURLのカスタム・プロトコル・ストリーム・ハンドラ。nullを指定できます。その場合は、プロトコルのデフォルトのストリーム・ハンドラ(ある場合)が使用されます。- 戻り値:
- 指定された
URIから作成され、指定されたURLStreamHandlerに関連付けられている新しいURLインスタンス(ある場合) - スロー:
NullPointerException-uriがnullである場合IllegalArgumentException- プロトコルが指定されていない場合 (「URIスキーム」はnullです)、またはURLStreamHandlerがnullでなく、指定されたプロトコルに設定できない場合MalformedURLException- 不明なプロトコルが見つかった場合、または指定されたURIが関連するプロトコルの特定の構文に準拠していない場合、または基礎となるストリーム・ハンドラの「parseURLメソッド」がIllegalArgumentExceptionをスローした場合SecurityException−セキュリティ・マネージャが存在し、セキュリティ・マネージャのcheckPermissionメソッドがストリーム・ハンドラの指定を許可しない場合- 導入されたバージョン:
- 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の仮想ホストと一致しないことが知られています。 -
hashCode
public int hashCode()ハッシュ表のインデックス付けに適したint値を作成します。ハッシュ・コードはURL比較に関連するすべてのURLコンポーネントに基づいています。 したがって、この操作はブロック操作です。
-
sameFile
public boolean sameFile(URL other) フラグメント・コンポーネント以外の2つのURLを比較します。フラグメント・コンポーネントを考慮しないで、この
URLとother引数が等しい場合は、trueを返します。- パラメータ:
other- 比較対象のURL。- 戻り値:
- 参照するリモート・オブジェクトが同じである場合は
true、そうでない場合はfalse。
-
toString
public String toString()このURLの文字列表現を構築します。 このオブジェクトのストリーム・プロトコル・ハンドラのtoExternalFormメソッドを呼び出すことによって文字列が作成されます。 -
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 IOExceptionURLが参照するリモート・オブジェクトへの接続を表す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- 入出力例外が発生した場合。SecurityException−セキュリティ・マネージャが存在し、プロキシに接続する権限を呼出し元が持っていない場合。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インスタンスは、プロトコル名からストリーム・プロトコル・ハンドラを構築するのに使用されます。セキュリティ・マネージャが存在する場合、この操作が許可されるように、このメソッドは最初にセキュリティ・マネージャの
checkSetFactoryメソッドを呼び出します。 この結果、SecurityExceptionがスローされることがあります。- パラメータ:
fac- 目的のファクトリ。- スロー:
Error−アプリケーションでファクトリがすでに設定されている場合。SecurityException- セキュリティ・マネージャが存在し、そのcheckSetFactoryメソッドでこの操作が許可されていない場合。- 関連項目:
-
URI.toURL()を使用して、URLのインスタンスを作成します。