- すべての実装されたインタフェース:
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があるとします。
このHTMLページの中に次の相対URLが含まれているとします。http://www.example.com/index.html
これは次の短縮形とみなされます。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 Object
getContent
(Class<?>[] classes) このURLのコンテンツを取得します。int
このURL
に関連するプロトコルのデフォルトのポート番号を取得します。getFile()
このURL
のファイル名を取得します。getHost()
該当する場合、このURL
のホスト名を取得します。getPath()
このURL
のパス部分を取得します。int
getPort()
このURL
のポート番号を取得します。このURL
のプロトコル名を取得します。getQuery()
このURL
のクエリー部分を取得します。getRef()
このURL
のアンカー(「参照」とも呼ばれる)を取得します。このURL
のユーザー情報部分を取得します。int
hashCode()
ハッシュ表のインデックス付けに適したint値を作成します。static URL
of
(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.pkgs
null
でなければ、値は、垂直スラッシュ文字「|
」で区切られた、パッケージのリストとして解釈される。 コンストラクタは次の名前を持つクラスをロードしようとする。
ここで、<package>.<protocol>.Handler
<package>
はパッケージの名前に置換され、<protocol>
はプロトコルの名前に置換されます。 このクラスが存在しない場合、あるいはクラスは存在してもそれがURLStreamHandler
のサブクラスではない場合には、リストにある次のパッケージを試すことになる。 - 前のステップでプロトコル・ハンドラが見つからない場合、コンストラクタは組込みプロトコル・ハンドラのロードを試みます。 このクラスが存在しない場合、またはクラスは存在するが
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のインスタンスを構築します。 詳細は、「コンストラクタの非推奨」のノートを参照してください。指定された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以外の負の数値である場合、または基礎となるストリーム・ハンドラの実装が拒否または拒否されることがわかっている場合は、URL
SecurityException
−セキュリティ・マネージャが存在し、セキュリティ・マネージャの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
の構築元となるURI
handler
- 返されたURL
のカスタム・プロトコル・ストリーム・ハンドラ。null
を指定できます。その場合は、プロトコルのデフォルトのストリーム・ハンドラ(ある場合)が使用されます。- 戻り値:
- 指定された
URI
から作成され、指定されたURLStreamHandler
に関連付けられている新しいURL
インスタンス(ある場合) - 例外:
NullPointerException
-uri
がnull
である場合IllegalArgumentException
- プロトコルが指定されていない場合 (「URIスキーム」はnull
です)、またはURLStreamHandler
がnull
でなく、指定されたプロトコルに設定できない場合MalformedURLException
- 不明なプロトコルが見つかった場合、または指定されたURIが関連するプロトコルの特定の構文に準拠していない場合、または基礎となるストリーム・ハンドラの「parseURLメソッド」がIllegalArgumentException
をスローした場合SecurityException
−セキュリティ・マネージャが存在し、セキュリティ・マネージャのcheckPermission
メソッドがストリーム・ハンドラの指定を許可しない場合- 導入されたバージョン:
- 20
- 関連項目:
-
getQuery
-
getPath
-
getUserInfo
-
getAuthority
-
getPort
public int getPort()このURL
のポート番号を取得します。- 戻り値:
- ポート番号。ポートが設定されていない場合は -1
-
getDefaultPort
public int getDefaultPort()このURL
に関連するプロトコルのデフォルトのポート番号を取得します。 URLスキームまたはURLのURLStreamHandlerがデフォルトのポート番号を定義しない場合は、-1が返されます。- 戻り値:
- ポート番号
- 導入されたバージョン:
- 1.4
-
getProtocol
-
getHost
public String getHost()該当する場合、このURL
のホスト名を取得します。 ホスト名の形式はRFC 2732に準拠します。つまり、リテラルIPv6アドレスの場合、このメソッドは角カッコ(「[」
および「]」
)で囲まれたIPv6アドレスを返します。- 戻り値:
- この
URL
のホスト名。
-
getFile
public String getFile()このURL
のファイル名を取得します。 返されるファイル部分は、getQuery()
の値が存在する場合には、その値とgetPath()
の値を連結したものと同じになります。 クエリー部分が存在しない場合、このメソッドとgetPath()
は同じ結果を返します。- 戻り値:
- この
URL
のファイル名。存在しない場合は空の文字列
-
getRef
-
equals
public boolean equals(Object obj) このURLと別のオブジェクトとが等しいかどうかを比較します。指定されたオブジェクトがURLでない場合、このメソッドは直ちに
false
を返します。2つのURLオブジェクトが等しいのは、同じプロトコルを持ち、同じホストを参照し、ホスト上のポート番号が同じで、ファイルとファイルのフラグメントが同じ場合です。
2つのホストが等価と見なされるのは、両方のホスト名が同じIPアドレスに解決されるか、どちらかのホスト名を解決できない場合は、大文字小文字に関係なくホスト名が等しいか、両方のホスト名がnullに等しい場合です。
ホスト比較には名前解決が必要なので、この操作はブロック操作です。
ノート:
equals
の定義された動作は、HTTPの仮想ホストと一致しないことが知られています。 -
hashCode
-
sameFile
public boolean sameFile(URL other) フラグメント・コンポーネント以外の2つのURLを比較します。フラグメント・コンポーネントを考慮しないで、この
URL
とother
引数が等しい場合は、true
を返します。- パラメータ:
other
- 比較対象のURL
。- 戻り値:
- 参照するリモート・オブジェクトが同じである場合は
true
、そうでない場合はfalse
。
-
toString
-
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のインスタンスを作成します。