- 直系の既知のサブクラス:
- HttpURLConnection,- JarURLConnection
public abstract class URLConnection extends Object
URLConnectionは、アプリケーションとURLとの間の通信リンクを表すすべてのクラスのスーパー・クラスです。 このクラスのインスタンスを使用して、URLで参照するリソースの読み込みと書込みの両方を行うことができます。 
 一般に、URLへの接続の作成は、次のような複数のステップが必要となります。
- 接続オブジェクトは、URL上でopenConnectionメソッドを呼び出すことによって作成されます。
- セットアップ・パラメータと一般要求プロパティを操作する。
- リモート・オブジェクトへの実際の接続は、connectメソッドを使用して行われます。
- リモート・オブジェクトが使用可能になる。 リモート・オブジェクトのヘッダー・フィールドと内容にアクセスできるようになる。
セットアップ・パラメータを修正するには次のメソッドを使用します。
- setAllowUserInteraction
- setDoInput
- setDoOutput
- setIfModifiedSince
- setUseCaches
一般要求プロパティを修正するには次のメソッドを使用します。
- setRequestProperty
 AllowUserInteractionパラメータとUseCachesパラメータのデフォルト値は、setDefaultAllowUserInteractionメソッドとsetDefaultUseCachesメソッドを使用して設定できます。
 
 上記のsetメソッドには対応するgetメソッドがあり、それらのメソッドを使えば、パラメータまたは一般要求プロパティの値を取得できます。 具体的にどのパラメータや一般要求プロパティが適用可能であるかは、プロトコルごとに異なります。 
 
リモート・オブジェクトへの接続を確立したあと、ヘッダー・フィールドと内容にアクセスするには次のメソッドを使用します。
- getContent
- getHeaderField
- getInputStream
- getOutputStream
一部のヘッダー・フィールドは頻繁にアクセスされます。 関連するメソッドを次に示します。
- getContentEncoding
- getContentLength
- getContentType
- getDate
- getExpiration
- getLastModified
 上記を使えば、これらのフィールドに容易にアクセスできます。 getContentTypeメソッドは、リモート・オブジェクトの型を判別するときにgetContentメソッドによって使用されます。サブクラスでは、getContentTypeメソッドをオーバーライドすると便利なことがあります。 
 
 通常の場合、接続前のパラメータと一般要求プロパティはすべて、無視してかまいません。接続前のパラメータと要求プロパティは適切な値にデフォルト設定されます。 このインタフェースの大部分のクライアントで関心を持たれるメソッドは、2つしかありません。getInputStreamとgetContentです。これらは、URLクラスの簡易メソッドによってミラー化されます。 
 
 http接続の要求プロパティとヘッダー・フィールドの詳細は、次のサイトを参照してください。
 
要求後にhttp://www.ietf.org/rfc/rfc2616.txt
URLConnectionのInputStreamまたはOutputStream上でclose()メソッドを呼び出すと、特定のプロトコル仕様で他の動作が規定されていないかぎり、このインスタンスに関連付けられたネットワーク・リソースが解放されます。- 導入されたバージョン:
- 1.0
- 関連項目:
- URL.openConnection(),- connect(),- getContent(),- getContentEncoding(),- getContentLength(),- getContentType(),- getDate(),- getExpiration(),- getHeaderField(int),- getHeaderField(java.lang.String),- getInputStream(),- getLastModified(),- getOutputStream(),- setAllowUserInteraction(boolean),- setDefaultUseCaches(boolean),- setDoInput(boolean),- setDoOutput(boolean),- setIfModifiedSince(long),- setRequestProperty(java.lang.String, java.lang.String),- setUseCaches(boolean)
- 
フィールドのサマリーフィールド 修飾子と型 フィールド 説明 protected booleanallowUserInteractiontrueの場合、このURLは、ユーザーとの対話(認証ダイアログのポップアップなど)を許可することが意味をなすコンテキストで検査されています。protected booleanconnectedfalseの場合、この接続オブジェクトは、指定されたURLへの通信リンクを作成していません。protected booleandoInputこの変数は、setDoInputメソッドによって設定されています。protected booleandoOutputこの変数は、setDoOutputメソッドによって設定されています。protected longifModifiedSince一部のプロトコルでは、特定の時間よりもあとにオブジェクトが更新されていない場合に、オブジェクトのフェッチを省略することができます。protected URLurlURLは、World Wide Web上にあるリモート・オブジェクトを表します。このリモート・オブジェクトに対して、接続を開きます。protected booleanuseCachestrueの場合、このプロトコルは、可能な場合はいつでもキャッシュを使用することが許可されています。
- 
コンストラクタのサマリーコンストラクタ 修飾子 コンストラクタ 説明 protectedURLConnection(URL url)指定されたURLへのURL接続を構築します。
- 
メソッドのサマリー修飾子と型 メソッド 説明 voidaddRequestProperty(String key, String value)キーと値のペアで指定された一般要求プロパティを追加します。abstract voidconnect()このURLが参照するリソースへの通信リンクを確立します(通信リンクが確立されていない場合)。booleangetAllowUserInteraction()このオブジェクトのallowUserInteractionフィールドの値を返します。intgetConnectTimeout()接続タイム・アウトの設定を返します。ObjectgetContent()このURL接続のコンテンツを取得します。ObjectgetContent(Class<?>[] classes)このURL接続のコンテンツを取得します。StringgetContentEncoding()content-encodingヘッダー・フィールドの値を返します。intgetContentLength()content-lengthヘッダー・フィールドの値を返します。longgetContentLengthLong()content-lengthヘッダー・フィールドの値をlong型として返します。StringgetContentType()content-typeヘッダー・フィールドの値を返します。longgetDate()dateヘッダー・フィールドの値を返します。static booleangetDefaultAllowUserInteraction()allowUserInteractionフィールドのデフォルト値を返します。static StringgetDefaultRequestProperty(String key)非推奨。URLConnectionの該当インスタンスを取得したあとは、インスタンス固有のgetRequestPropertyメソッドを使用します。booleangetDefaultUseCaches()URLConnectionのuseCachesフラグのデフォルト値を返します。static booleangetDefaultUseCaches(String protocol)指定されたプロトコルのuseCachesフラグのデフォルト値を返します。booleangetDoInput()このURLConnectionのdoInputフラグの値を返します。booleangetDoOutput()このURLConnectionのdoOutputフラグの値を返します。longgetExpiration()expiresヘッダー・フィールドの値を返します。static FileNameMapgetFileNameMap()データ・ファイルからファイル名マップ(mimetable)をロードします。StringgetHeaderField(int n)n番目のヘッダー・フィールドの値を返します。StringgetHeaderField(String name)指定されたヘッダー・フィールドの値を返します。longgetHeaderFieldDate(String name, long Default)指定されたフィールドを日付として構文解析した値を返します。intgetHeaderFieldInt(String name, int Default)指定されたフィールドを数値として構文解析した値を返します。StringgetHeaderFieldKey(int n)n番目のヘッダー・フィールドのキーを返します。longgetHeaderFieldLong(String name, long Default)指定されたフィールドを数値として構文解析した値を返します。Map<String,List<String>>getHeaderFields()ヘッダー・フィールドの変更不可能なマップを返します。longgetIfModifiedSince()このオブジェクトのifModifiedSinceフィールドの値を返します。InputStreamgetInputStream()この接続からの入力を受け取る入力ストリームを返します。longgetLastModified()last-modifiedヘッダー・フィールドの値を返します。OutputStreamgetOutputStream()この接続に書込みを行う出力ストリームを返します。PermissiongetPermission()このオブジェクトが表す接続のために必要なアクセス権を表すPermissionオブジェクトを返します。intgetReadTimeout()読取りタイム・アウトの設定を返します。このオプションが無効(タイム・アウトが無限)の場合は0を返します。Map<String,List<String>>getRequestProperties()この接続の一般要求プロパティの変更不可能なマップを返します。StringgetRequestProperty(String key)この接続の指定された一般要求プロパティの値を返します。URLgetURL()このURLConnectionのURLフィールドの値を返します。booleangetUseCaches()このURLConnectionのuseCachesフィールドの値を返します。static StringguessContentTypeFromName(String fname)URLの指定された「ファイル」コンポーネントを基に、オブジェクトのコンテンツ型を推測します。static StringguessContentTypeFromStream(InputStream is)入力ストリームの先頭の文字を基に、入力ストリームの種類の決定を試みます。voidsetAllowUserInteraction(boolean allowuserinteraction)このURLConnectionのallowUserInteractionフィールドの値を設定します。voidsetConnectTimeout(int timeout)このURLConnectionが参照するリソースへの通信リンクのオープン時に、指定されたミリ秒単位のタイム・アウト値が使用されるように設定します。static voidsetContentHandlerFactory(ContentHandlerFactory fac)アプリケーションのContentHandlerFactoryを設定します。static voidsetDefaultAllowUserInteraction(boolean defaultallowuserinteraction)将来に作成されるすべてのURLConnectionオブジェクトのallowUserInteractionフィールドについて、デフォルト値を指定された値に設定します。static voidsetDefaultRequestProperty(String key, String value)非推奨。URLConnectionの該当インスタンスを取得したあとは、インスタンス固有のsetRequestPropertyメソッドを使用します。voidsetDefaultUseCaches(boolean defaultusecaches)useCachesフィールドのデフォルト値を、指定された値に設定します。static voidsetDefaultUseCaches(String protocol, boolean defaultVal)指定されたプロトコルのuseCachesフィールドのデフォルト値を指定された値に設定します。voidsetDoInput(boolean doinput)このURLConnectionのdoInputフィールドの値を指定された値に設定します。voidsetDoOutput(boolean dooutput)このURLConnectionのdoOutputフィールドの値を指定された値に設定します。static voidsetFileNameMap(FileNameMap map)FileNameMapを設定します。voidsetIfModifiedSince(long ifmodifiedsince)このURLConnectionのifModifiedSinceフィールドの値を指定された値に設定します。voidsetReadTimeout(int timeout)読取りタイム・アウトを、指定されたミリ秒単位のタイム・アウトに設定します。voidsetRequestProperty(String key, String value)一般要求プロパティを設定します。voidsetUseCaches(boolean usecaches)このURLConnectionのuseCachesフィールドの値を指定された値に設定します。StringtoString()このURL接続のString表現を返します。
- 
フィールド詳細- 
urlprotected URL urlURLは、World Wide Web上にあるリモート・オブジェクトを表します。このリモート・オブジェクトに対して、接続を開きます。このフィールドの値にアクセスするには、 getURLメソッドを使用します。この変数のデフォルト値は、 URLConnectionコンストラクタのURL引数の値です。
- 
doInputprotected boolean doInputこの変数は、setDoInputメソッドによって設定されています。 その値は、getDoInputメソッドによって返されます。URL接続は、入力または出力、あるいはその両方に対して使用できます。 doInputフラグをtrueに設定した場合、それは、アプリケーションがURL接続からデータを読み取る予定であることを示します。このフィールドのデフォルト値は trueです。- 関連項目:
- getDoInput(),- setDoInput(boolean)
 
- 
doOutputprotected boolean doOutputこの変数は、setDoOutputメソッドによって設定されています。 その値は、getDoOutputメソッドによって返されます。URL接続は、入力または出力、あるいはその両方に対して使用できます。 doOutputフラグをtrueに設定した場合、それは、アプリケーションがURL接続にデータを書き込む予定であることを示します。このフィールドのデフォルト値は falseです。
- 
allowUserInteractionprotected boolean allowUserInteractiontrueの場合、このURLは、ユーザーとの対話(認証ダイアログのポップアップなど)を許可することが意味をなすコンテキストで検査されています。falseの場合、ユーザーとの対話処理は許可されていません。このフィールドの値に設定するには、 setAllowUserInteractionメソッドを使用します。 その値は、getAllowUserInteractionメソッドによって返されます。 そのデフォルト値は、setDefaultAllowUserInteractionメソッドを最後に呼び出した時の引数の値になります。
- 
useCachesprotected boolean useCachestrueの場合、このプロトコルは、可能な場合はいつでもキャッシュを使用することが許可されています。falseの場合、プロトコルは常に、オブジェクトの新規のコピーを取得する必要があります。このフィールドは、 setUseCachesメソッドによって設定されます。 その値は、getUseCachesメソッドによって返されます。このフィールドのデフォルト値は、 setDefaultUseCachesメソッドを最後に呼び出したときに指定した値です。デフォルトの設定は、プロトコルごとに setDefaultUseCaches(String,boolean)で上書きすることができます。
- 
ifModifiedSinceprotected long ifModifiedSince一部のプロトコルでは、特定の時間よりもあとにオブジェクトが更新されていない場合に、オブジェクトのフェッチを省略することができます。0以外の値は、1970年1月1日GMTから起算したミリ秒数を表します。 オブジェクトが取得されるのは、その時間よりも後にオブジェクトが変更された場合だけです。 この変数は、 setIfModifiedSinceメソッドによって設定されています。 その値は、getIfModifiedSinceメソッドによって返されます。このフィールドのデフォルト値は 0(常にオブジェクトをフェッチする)です。
- 
connectedprotected boolean connectedfalseの場合、この接続オブジェクトは、指定されたURLへの通信リンクを作成していません。trueの場合、通信リンクが確立されています。
 
- 
- 
コンストラクタの詳細- 
URLConnectionprotected URLConnection(URL url)指定されたURLへのURL接続を構築します。 URLが参照するオブジェクトへの接続は、作成されません。- パラメータ:
- url−指定されたURL。
 
 
- 
- 
メソッドの詳細- 
getFileNameMappublic static FileNameMap getFileNameMap()データ・ファイルからファイル名マップ(mimetable)をロードします。 これはまず、「content.types.user.table」プロパティで定義されたユーザー指定表をロードしようとします。 それが失敗した場合、これはデフォルトの組込み表をロードしようとします。- 戻り値:
- FileNameMap
- 導入されたバージョン:
- 1.2
- 関連項目:
- setFileNameMap(java.net.FileNameMap)
 
- 
setFileNameMappublic static void setFileNameMap(FileNameMap map)FileNameMapを設定します。セキュリティ・マネージャが存在する場合、この操作が許可されるように、このメソッドは最初にセキュリティ・マネージャの checkSetFactoryメソッドを呼び出します。 この結果、SecurityExceptionがスローされることがあります。- パラメータ:
- map−設定するFileNameMap
- 例外:
- SecurityException- セキュリティ・マネージャが存在し、その- checkSetFactoryメソッドでこの操作が許可されていない場合。
- 導入されたバージョン:
- 1.2
- 関連項目:
- SecurityManager.checkSetFactory(),- getFileNameMap()
 
- 
connectpublic abstract void connect() throws IOExceptionこのURLが参照するリソースへの通信リンクを確立します(通信リンクが確立されていない場合)。connectメソッドを呼び出したときに、接続がすでに確立されていれば(connectedフィールドの値がtrueであれば)、メソッド呼出しは無視されます。URLConnectionオブジェクトは2つの段階を経験します。それらはまず作成され、次に接続されます。 作成されてから接続されるまでの間は、doInputやuseCachesなど、さまざまなオプションを指定できます。 接続後にそれらを設定しようとすると、エラーが発生します。 getContentLengthなどの、接続されていることに依存する操作は、必要に応じて暗黙的に接続を実行します。 - 例外:
- SocketTimeoutException−接続が確立される前にタイム・アウトが過ぎた場合
- IOException- 接続のオープン中に入出力エラーが発生した場合。
- 関連項目:
- connected,- getConnectTimeout(),- setConnectTimeout(int)
 
- 
setConnectTimeoutpublic void setConnectTimeout(int timeout)このURLConnectionが参照するリソースへの通信リンクのオープン時に、指定されたミリ秒単位のタイム・アウト値が使用されるように設定します。 接続が確立される前にタイム・アウトが過ぎた場合は、java.net.SocketTimeoutExceptionが発行されます。 タイム・アウト0は無限のタイム・アウトとして解釈されます。このメソッドの非標準実装のなかには、指定されたタイムアウトを無視するものもあります。 設定されている接続タイム・アウトを確認するには、getConnectTimeout()を呼び出してください。 - パラメータ:
- timeout−ミリ秒単位の接続タイム・アウト値を表す- int
- 例外:
- IllegalArgumentException- timeoutパラメータが負の場合
- 導入されたバージョン:
- 1.5
- 関連項目:
- getConnectTimeout(),- connect()
 
- 
getConnectTimeoutpublic int getConnectTimeout()接続タイム・アウトの設定を返します。このオプションが無効(タイム・アウトが無限)の場合は0を返します。 - 戻り値:
- ミリ秒単位の接続タイム・アウト値を示すint
- 導入されたバージョン:
- 1.5
- 関連項目:
- setConnectTimeout(int),- connect()
 
- 
setReadTimeoutpublic void setReadTimeout(int timeout)読取りタイム・アウトを、指定されたミリ秒単位のタイム・アウトに設定します。 0以外の値は、リソースへの接続が確立されている場合の、入力ストリームからの読取りタイム・アウトを指定します。 データが読取り可能になる前にタイム・アウトが過ぎた場合は、java.net.SocketTimeoutExceptionが発行されます。 タイム・アウト0は無限のタイム・アウトとして解釈されます。このメソッドの非標準実装のなかには、指定されたタイム・アウトを無視するものもあります。 設定されている読取りタイム・アウトを確認するには、getReadTimeout()を呼び出してください。 - パラメータ:
- timeout−使用すべきミリ秒単位のタイム・アウト値を指定する- int
- 例外:
- IllegalArgumentException- timeoutパラメータが負の場合
- 導入されたバージョン:
- 1.5
- 関連項目:
- getReadTimeout(),- InputStream.read()
 
- 
getReadTimeoutpublic int getReadTimeout()読取りタイム・アウトの設定を返します。このオプションが無効(タイム・アウトが無限)の場合は0を返します。- 戻り値:
- ミリ秒単位の読取りタイム・アウト値を示すint
- 導入されたバージョン:
- 1.5
- 関連項目:
- setReadTimeout(int),- InputStream.read()
 
- 
getURLpublic URL getURL()このURLConnectionのURLフィールドの値を返します。- 戻り値:
- このURLConnectionのURLフィールドの値。
- 関連項目:
- url
 
- 
getContentLengthpublic int getContentLength()content-lengthヘッダー・フィールドの値を返します。ノート: このメソッドより getContentLengthLong()を優先してください。これはlongを返すのでより移植性が高いからです。- 戻り値:
- この接続のURLによって参照されているリソースのコンテンツの長さ。コンテンツの長さが不明の場合や、コンテンツの長さがInteger.MAX_VALUEより長い場合は-1。
 
- 
getContentLengthLongpublic long getContentLengthLong()content-lengthヘッダー・フィールドの値をlong型として返します。- 戻り値:
- この接続のURLによって参照されているリソースのコンテンツの長さ。コンテンツの長さが不明の場合は-1。
- 導入されたバージョン:
- 1.7
 
- 
getContentTypepublic String getContentType()content-typeヘッダー・フィールドの値を返します。- 戻り値:
- URLによって参照されているリソースのコンテンツの種類。不明の場合はnull。
- 関連項目:
- getHeaderField(java.lang.String)
 
- 
getContentEncodingpublic String getContentEncoding()content-encodingヘッダー・フィールドの値を返します。- 戻り値:
- URLによって参照されているリソースのコンテンツのエンコーディング。不明の場合はnull。
- 関連項目:
- getHeaderField(java.lang.String)
 
- 
getExpirationpublic long getExpiration()expiresヘッダー・フィールドの値を返します。- 戻り値:
- このURLが参照するリソースの有効期限日。不明の場合は0。 この値は、1970年1月1日GMTからのミリ秒数。
- 関連項目:
- getHeaderField(java.lang.String)
 
- 
getDatepublic long getDate()dateヘッダー・フィールドの値を返します。- 戻り値:
- URLが参照するリソースの送信日。不明の場合は0。 返される値は、1970年1月1日GMTからのミリ秒数。
- 関連項目:
- getHeaderField(java.lang.String)
 
- 
getLastModifiedpublic long getLastModified()last-modifiedヘッダー・フィールドの値を返します。 結果は、1970年1月1日GMTからのミリ秒数です。- 戻り値:
- このURLConnectionが参照するリソースが最後に変更された日付。不明の場合は0。
- 関連項目:
- getHeaderField(java.lang.String)
 
- 
getHeaderField指定されたヘッダー・フィールドの値を返します。同じヘッダーを別の値で複数回設定する可能性のある接続で呼び出される場合は、最後の値だけが返されます。 - パラメータ:
- name−ヘッダー・フィールドの名前。
- 戻り値:
- 指定されたヘッダー・フィールドの名前。指定された名前を持つフィールドがヘッダー内にない場合はnull。
 
- 
getHeaderFieldsヘッダー・フィールドの変更不可能なマップを返します。 マップのキーは、応答ヘッダーのフィールド名を表すStringです。 マップの各値は変更不可能なStringのリストであり、対応するフィールドの値を表します。- 戻り値:
- ヘッダー・フィールドのマップ
- 導入されたバージョン:
- 1.4
 
- 
getHeaderFieldIntpublic int getHeaderFieldInt(String name, int Default)指定されたフィールドを数値として構文解析した値を返します。この形式の getHeaderFieldが存在しているのは、一部の接続タイプ(http-ngなど)が事前に構文解析されたヘッダーを持つからです。 そうした接続タイプのクラスは、このメソッドをオーバーライドすることで構文解析を回避することができます。- パラメータ:
- name- ヘッダー・フィールドの名前。
- Default- デフォルト値。
- 戻り値:
- 指定されたフィールドを整数として構文解析した値。 フィールドが見つからないか形式が不正である場合には、Defaultの値が返されます。
 
- 
getHeaderFieldLongpublic long getHeaderFieldLong(String name, long Default)指定されたフィールドを数値として構文解析した値を返します。この形式の getHeaderFieldが存在しているのは、一部の接続タイプ(http-ngなど)が事前に構文解析されたヘッダーを持つからです。 そうした接続タイプのクラスは、このメソッドをオーバーライドすることで構文解析を回避することができます。- パラメータ:
- name- ヘッダー・フィールドの名前。
- Default- デフォルト値。
- 戻り値:
- 指定されたフィールドをlong値として構文解析した値。 フィールドが見つからないか形式が不正である場合には、Defaultの値が返されます。
- 導入されたバージョン:
- 1.7
 
- 
getHeaderFieldDatepublic long getHeaderFieldDate(String name, long Default)指定されたフィールドを日付として構文解析した値を返します。 結果は、指定されたフィールドが表す、1970年1月1日GMTからのミリ秒数です。この形式の getHeaderFieldが存在しているのは、一部の接続タイプ(http-ngなど)が事前に構文解析されたヘッダーを持つからです。 そうした接続タイプのクラスは、このメソッドをオーバーライドすることで構文解析を回避することができます。- パラメータ:
- name- ヘッダー・フィールドの名前。
- Default- デフォルト値。
- 戻り値:
- フィールドの値を日付として構文解析したもの。 フィールドが見つからないか形式が不正である場合には、Default引数の値が返されます。
 
- 
getHeaderFieldKeypublic String getHeaderFieldKey(int n)n番目のヘッダー・フィールドのキーを返します。 一部の実装では、0thヘッダー・フィールドが特別として扱われる場合があります。その場合、getHeaderField(0)は値を返しますが、getHeaderFieldKey(0)はnullを返します。n > 0の場合、n+1フィールドより少ない場合はnullを返します。- パラメータ:
- n- インデックス。ここで- n>=0です
- 戻り値:
- nthヘッダー・フィールドのキー。- n > 0の場合、- n+1フィールドより少ない場合は- null。
 
- 
getHeaderFieldpublic String getHeaderField(int n)n番目のヘッダー・フィールドの値を返します。 フィールド数がn+1個よりも少ない場合はnullを返します。このメソッドと getHeaderFieldKeyメソッドを組み合わせて使用すると、メッセージ内のすべてのヘッダーを反復できます。- パラメータ:
- n- インデックス。ここで- n>=0です
- 戻り値:
- n番目のヘッダー・フィールドの値。フィールド数が- n+1より少ない場合は- null。
- 関連項目:
- getHeaderFieldKey(int)
 
- 
getContentpublic Object getContent() throws IOExceptionこのURL接続のコンテンツを取得します。このメソッドでは最初に getContentTypeメソッドを呼び出し、オブジェクトの情報の種類を判別します。 アプリケーションが特定のコンテンツ型を初めて見た場合は、そのコンテンツ型のコンテンツ・ハンドラが作成されます。次のように行います。 - アプリケーションでsetContentHandlerFactoryメソッドを使用しContentHandlerファクトリのインスタンスがセット・アップされている場合は、そのインスタンスのcreateContentHandlerメソッドを呼び出し、内容の種類を引数として渡します。その結果、その内容の種類のContentHandlerが返されます。
- ContentHandlerFactoryがまだ設定されていない場合、または- createContentHandlerメソッドが- nullを返した場合は、ServiceLoaderメカニズムを使用して、システム・クラス・ローダーを使用してContentHandlerFactory実装を特定します。 ファクトリが置かれている順序は実装固有であり、実装はそのファクトリを自由にキャッシュできます。- createContentHandlerからスローされたServiceConfigurationError、- Errorまたは- RuntimeExceptionが発生した場合は、呼び出しスレッドに伝播されます。 ファクトリが非nullか、すべてのファクトリが使い果たされるまで、各ファクトリの- createContentHandlerメソッドがインスタンス化されると、コンテンツ型とともに呼び出されます。
- それに失敗した場合、このメソッドはContentHandlerで定義されたコンテンツ・ハンドラ・クラスをロードしようとします。 クラスが存在しない場合、またはContentHandlerのサブクラスでない場合は、UnknownServiceExceptionがスローされます。
 - 戻り値:
- 取得されたオブジェクト。 返されたオブジェクトの種類を判定するには、instanceof演算子を使用することをお薦めします。
- 例外:
- IOException- コンテンツの取得中に入出力エラーが発生した場合。
- UnknownServiceException- プロトコルがそのコンテンツ・タイプをサポートしていない場合。
- 関連項目:
- ContentHandlerFactory.createContentHandler(java.lang.String),- getContentType(),- setContentHandlerFactory(java.net.ContentHandlerFactory)
 
- アプリケーションで
- 
getContentpublic Object getContent(Class<?>[] classes) throws IOExceptionこのURL接続のコンテンツを取得します。- パラメータ:
- classes−要求された型を示す- Class配列
- 戻り値:
- クラスの配列で指定された型が最初に一致した、取得したオブジェクト。要求された型がサポートされていない場合はnull。 返されたオブジェクトの種類を判定するには、instanceof演算子を使用することをお薦めします。
- 例外:
- IOException- コンテンツの取得中に入出力エラーが発生した場合。
- UnknownServiceException- プロトコルがそのコンテンツ・タイプをサポートしていない場合。
- 導入されたバージョン:
- 1.3
- 関連項目:
- getContent(),- ContentHandlerFactory.createContentHandler(java.lang.String),- getContent(java.lang.Class[]),- setContentHandlerFactory(java.net.ContentHandlerFactory)
 
- 
getPermissionpublic Permission getPermission() throws IOExceptionこのオブジェクトが表す接続のために必要なアクセス権を表すPermissionオブジェクトを返します。 接続時にアクセス権がまったく必要とされない場合、このメソッドはnullを返します。 デフォルトでは、このメソッドはjava.security.AllPermissionを返します。 サブクラスはこのメソッドをオーバーライドし、URLへの接続に必要なアクセス権を最もよく表すアクセス権を返します。 たとえば、file:URLを表すURLConnectionはjava.io.FilePermissionオブジェクトを返します。返されるアクセス権は、接続の状態に依存する可能性があります。 たとえば、接続前のアクセス権は、接続後のアクセス権とは異なる可能性があります。 たとえば、foo.comというHTTPサーバーで、接続を別のホストbar.comにリダイレクトしているとします。 接続する前にconnectionによって返されるアクセス権は、foo.comへの接続に必要なアクセス権です。一方、接続の後で返されるアクセス権は、bar.comへのアクセス権になります。 アクセス権の一般的な使用目的は2つあります。URLConnection経由で取得されたオブジェクトのキャッシュを保護することと、受信者が特定のURLについて知る権利をチェックすることです。 最初の場合、アクセス権はオブジェクトを取得したあとで取得されます。 たとえば、HTTP接続の場合、これは、データの最終的な取得元となったホストに接続するためのアクセス権を表します。 2番目の場合、アクセス権は接続の前に取得およびテストされます。 - 戻り値:
- このURLConnectionが表す接続のために必要なアクセス権を表すPermissionオブジェクト。
- 例外:
- IOException−アクセス権の処理のためにネットワークまたはファイルの入出力が必要で、その処理中に例外が発生した場合。
 
- 
getInputStreampublic InputStream getInputStream() throws IOExceptionこの接続からの入力を受け取る入力ストリームを返します。 返された入力ストリームからの読取り時に、データが読取り可能になる前に読取りタイム・アウトが過ぎた場合、SocketTimeoutExceptionがスローされます。- 戻り値:
- この接続からの入力を受け取る入力ストリーム。
- 例外:
- IOException−入力ストリームの作成中に入出力エラーが発生した場合。
- UnknownServiceException−プロトコルが入力をサポートしていない場合。
- 関連項目:
- setReadTimeout(int),- getReadTimeout()
 
- 
getOutputStreampublic OutputStream getOutputStream() throws IOExceptionこの接続に書込みを行う出力ストリームを返します。- 戻り値:
- この接続に書込みを行う出力ストリーム。
- 例外:
- IOException−出力ストリームの作成中に入出力エラーが発生した場合。
- UnknownServiceException−プロトコルが出力をサポートしていない場合。
 
- 
toStringpublic String toString()このURL接続のString表現を返します。
- 
setDoInputpublic void setDoInput(boolean doinput)このURLConnectionのdoInputフィールドの値を指定された値に設定します。URL接続は、入力または出力、あるいはその両方に対して使用できます。 入力用にURL接続を使用する場合はdoInputフラグをtrueに設定し、入力用にURL接続を使用しない場合はfalseに設定します。 デフォルトは、trueです。 - パラメータ:
- doinput- 新しい値。
- 例外:
- IllegalStateException- すでに接続されている場合
- 関連項目:
- doInput,- getDoInput()
 
- 
getDoInputpublic boolean getDoInput()このURLConnectionのdoInputフラグの値を返します。- 戻り値:
- このURLConnectionのdoInputフラグの値。
- 関連項目:
- setDoInput(boolean)
 
- 
setDoOutputpublic void setDoOutput(boolean dooutput)このURLConnectionのdoOutputフィールドの値を指定された値に設定します。URL接続は、入力または出力、あるいはその両方に対して使用できます。 出力にURL接続を使用する場合はdoOutputフラグをtrueに設定し、出力しない場合はfalseに設定します。 デフォルトはfalseです。 - パラメータ:
- dooutput- 新しい値。
- 例外:
- IllegalStateException- すでに接続されている場合
- 関連項目:
- getDoOutput()
 
- 
getDoOutputpublic boolean getDoOutput()このURLConnectionのdoOutputフラグの値を返します。- 戻り値:
- このURLConnectionのdoOutputフラグの値。
- 関連項目:
- setDoOutput(boolean)
 
- 
setAllowUserInteractionpublic void setAllowUserInteraction(boolean allowuserinteraction)このURLConnectionのallowUserInteractionフィールドの値を設定します。- パラメータ:
- allowuserinteraction- 新しい値。
- 例外:
- IllegalStateException- すでに接続されている場合
- 関連項目:
- getAllowUserInteraction()
 
- 
getAllowUserInteractionpublic boolean getAllowUserInteraction()このオブジェクトのallowUserInteractionフィールドの値を返します。- 戻り値:
- このオブジェクトのallowUserInteractionフィールドの値。
- 関連項目:
- setAllowUserInteraction(boolean)
 
- 
setDefaultAllowUserInteractionpublic static void setDefaultAllowUserInteraction(boolean defaultallowuserinteraction)将来に作成されるすべてのURLConnectionオブジェクトのallowUserInteractionフィールドについて、デフォルト値を指定された値に設定します。- パラメータ:
- defaultallowuserinteraction- 新しい値。
- 関連項目:
- getDefaultAllowUserInteraction()
 
- 
getDefaultAllowUserInteractionpublic static boolean getDefaultAllowUserInteraction()allowUserInteractionフィールドのデフォルト値を返します。このデフォルトは"sticky"であり、すべてのURLConnectionの静的状態の一部です。 このフラグは、次回以降に作成されるすべてのURLConnectionに対して適用されます。 - 戻り値:
- allowUserInteractionフィールドのデフォルト値。
- 関連項目:
- setDefaultAllowUserInteraction(boolean)
 
- 
setUseCachespublic void setUseCaches(boolean usecaches)このURLConnectionのuseCachesフィールドの値を指定された値に設定します。プロトコルによってはドキュメントのキャッシングを行う場合があります。 場合によってはキャッシュを無視して情報を転送する(ブラウザの「再読込」ボタンなど)ことが重要なこともあります。 接続のuseCachesフラグがtrueの場合、接続は、可能な場合はいつでもキャッシュを使用できます。 falseの場合、キャッシュは無視されます。 デフォルト値はdefaultUseCachesから得られます。デフォルトはtrueです。 デフォルト値は、 setDefaultUseCaches(String,boolean)を使用してプロトコルごとに設定することもできます。- パラメータ:
- usecaches−キャッシュへの書込みが可能かどうかを示す- boolean値。
- 例外:
- IllegalStateException- すでに接続されている場合
- 関連項目:
- getUseCaches()
 
- 
getUseCachespublic boolean getUseCaches()このURLConnectionのuseCachesフィールドの値を返します。- 戻り値:
- このURLConnectionのuseCachesフィールドの値。
- 関連項目:
- setUseCaches(boolean)
 
- 
setIfModifiedSincepublic void setIfModifiedSince(long ifmodifiedsince)このURLConnectionのifModifiedSinceフィールドの値を指定された値に設定します。- パラメータ:
- ifmodifiedsince- 新しい値。
- 例外:
- IllegalStateException- すでに接続されている場合
- 関連項目:
- getIfModifiedSince()
 
- 
getIfModifiedSincepublic long getIfModifiedSince()このオブジェクトのifModifiedSinceフィールドの値を返します。- 戻り値:
- このオブジェクトのifModifiedSinceフィールドの値。
- 関連項目:
- setIfModifiedSince(long)
 
- 
getDefaultUseCachespublic boolean getDefaultUseCaches()URLConnectionのuseCachesフラグのデフォルト値を返します。このデフォルトは"sticky"であり、すべてのURLConnectionの静的状態の一部です。 このフラグは、次回以降に作成されるすべてのURLConnectionに対して適用されます。 このデフォルト値は、プロトコルごとに setDefaultUseCaches(String,boolean)を使用してオーバーライドすることができます- 戻り値:
- URLConnectionの- useCachesフラグのデフォルト値。
- 関連項目:
- setDefaultUseCaches(boolean)
 
- 
setDefaultUseCachespublic void setDefaultUseCaches(boolean defaultusecaches)useCachesフィールドのデフォルト値を、指定された値に設定します。 このデフォルト値は、プロトコルごとにsetDefaultUseCaches(String,boolean)を使用してオーバーライドすることができます- パラメータ:
- defaultusecaches- 新しい値。
- 関連項目:
- getDefaultUseCaches()
 
- 
setDefaultUseCachespublic static void setDefaultUseCaches(String protocol, boolean defaultVal)指定されたプロトコルのuseCachesフィールドのデフォルト値を指定された値に設定します。 この値は、指定されたプロトコルのsetDefaultUseCaches(boolean)によって設定されたデフォルト設定よりも優先されます。 このメソッドを連続して呼び出すと、設定が変更され、そのプロトコルの今後のすべての接続のデフォルト値に影響します。 プロトコル名は大文字と小文字を区別しません。- パラメータ:
- protocol- デフォルトのプロトコルを設定
- defaultVal- 指定されたプロトコルに対してデフォルトでキャッシングが有効になっているかどうか
- 導入されたバージョン:
- 9
 
- 
getDefaultUseCachespublic static boolean getDefaultUseCaches(String protocol)指定されたプロトコルのuseCachesフラグのデフォルト値を返します。setDefaultUseCaches(String,boolean)が指定されたプロトコルに対して呼び出された場合、その値が返されます。 それ以外の場合は、setDefaultUseCaches(boolean)が呼び出された場合は、その値が返されます。 いずれのメソッドも呼び出されなかった場合、戻り値はtrueです。 プロトコル名は大文字と小文字を区別しません。- パラメータ:
- protocol- defaultUseCaches設定が必要なプロトコル
- 戻り値:
- 指定されたプロトコルのuseCachesフラグのデフォルト値。
- 導入されたバージョン:
- 9
 
- 
setRequestProperty一般要求プロパティを設定します。 このキーを持つプロパティがすでに存在する場合は、その値を新しい値で上書きします。ノート: 複数のプロパティを1つのプロパティに付加できるようにする、カンマで区切られたリスト構文を使用するために、HTTPは、同じキーで複数のインスタンスを正当に持てる要求プロパティをすべて必要とします。 - パラメータ:
- key- 要求を識別するキーワード(「- Accept」など)。
- value- キーワードに関連した値。
- 例外:
- IllegalStateException- すでに接続されている場合
- NullPointerException- キーが- nullの場合
- 関連項目:
- getRequestProperty(java.lang.String)
 
- 
addRequestPropertyキーと値のペアで指定された一般要求プロパティを追加します。 このメソッドは、同じキーに関連付けられている既存の値を上書きしません。- パラメータ:
- key- 要求を識別するキーワード(「- Accept」など)。
- value- キーワードに関連した値。
- 例外:
- IllegalStateException- すでに接続されている場合
- NullPointerException- キーがnullの場合
- 導入されたバージョン:
- 1.4
- 関連項目:
- getRequestProperties()
 
- 
getRequestPropertyこの接続の指定された一般要求プロパティの値を返します。- パラメータ:
- key- 要求を識別するキーワード(「Accept」など)。
- 戻り値:
- この接続の指定された一般要求プロパティの値。 キーがnullの場合はnullが返される。
- 例外:
- IllegalStateException- すでに接続されている場合
- 関連項目:
- setRequestProperty(java.lang.String, java.lang.String)
 
- 
getRequestPropertiesこの接続の一般要求プロパティの変更不可能なマップを返します。 マップのキーは、要求ヘッダーのフィールド名を表すStringです。 マップの各値は変更不可能なStringのリストであり、対応するフィールドの値を表します。- 戻り値:
- この接続の一般要求プロパティのマップ。
- 例外:
- IllegalStateException- すでに接続されている場合
- 導入されたバージョン:
- 1.4
 
- 
setDefaultRequestProperty@Deprecatedpublic static void setDefaultRequestProperty(String key, String value)非推奨。URLConnectionの該当インスタンスを取得したあとは、インスタンス固有のsetRequestPropertyメソッドを使用します。 このメソッドを呼び出しても、何の効果もありません。一般要求プロパティのデフォルト値を設定します。URLConnectionはその作成時に、これらのプロパティを使って初期化されます。- パラメータ:
- key- 要求を識別するキーワード(「- Accept」など)。
- value−キーに関連した値。
- 関連項目:
- setRequestProperty(java.lang.String,java.lang.String),- getDefaultRequestProperty(java.lang.String)
 
- 
getDefaultRequestProperty@Deprecatedpublic static String getDefaultRequestProperty(String key)非推奨。URLConnectionの該当インスタンスを取得したあとは、インスタンス固有のgetRequestPropertyメソッドを使用します。デフォルト要求プロパティの値を返します。 デフォルトの要求プロパティはすべての接続に設定されています。- パラメータ:
- key- 要求を識別するキーワード(「Accept」など)。
- 戻り値:
- 指定されたキーに対するデフォルト要求プロパティの値。
- 関連項目:
- getRequestProperty(java.lang.String),- setDefaultRequestProperty(java.lang.String, java.lang.String)
 
- 
setContentHandlerFactorypublic static void setContentHandlerFactory(ContentHandlerFactory fac)アプリケーションのContentHandlerFactoryを設定します。 アプリケーションでは最大で1回呼び出すことができます。コンテンツの種類を基にContentHandlerを構築する際には ContentHandlerFactoryが使用されます。セキュリティ・マネージャが存在する場合、この操作が許可されるように、このメソッドは最初にセキュリティ・マネージャの checkSetFactoryメソッドを呼び出します。 この結果、SecurityExceptionがスローされることがあります。- パラメータ:
- fac- 目的のファクトリ。
- 例外:
- Error- ファクトリがすでに定義されている場合。
- SecurityException- セキュリティ・マネージャが存在し、その- checkSetFactoryメソッドでこの操作が許可されていない場合。
- 関連項目:
- ContentHandlerFactory,- getContent(),- SecurityManager.checkSetFactory()
 
- 
guessContentTypeFromNameURLの指定された「ファイル」コンポーネントを基に、オブジェクトのコンテンツ型を推測します。 これは、getContentTypeメソッドをオーバーライドするサブクラスが使用可能な簡易メソッドです。- パラメータ:
- fname−ファイル名。
- 戻り値:
- ファイル名を基に推測したオブジェクトのコンテンツ型。
- 関連項目:
- getContentType()
 
- 
guessContentTypeFromStreampublic static String guessContentTypeFromStream(InputStream is) throws IOException入力ストリームの先頭の文字を基に、入力ストリームの種類の決定を試みます。getContentTypeメソッドをオーバーライドするサブクラスが、このメソッドを使用できます。このルーチンが必要なくなるのが理想的です。 しかし、コンテンツ型として不正な値を返す httpサーバーは数多くあります。さらに、標準的ではない拡張子もたくさんあります。 このため、httpサーバーが返すコンテンツ型をうのみにするよりも、データを基にコンテンツ型を直接推測した方が正確な場合がよくあります。- パラメータ:
- is−markをサポートする入力ストリーム。
- 戻り値:
- 推測したコンテンツ型。推測できない場合はnull。
- 例外:
- IOException−入力ストリームの読取り中に入出力エラーが発生した場合。
- 関連項目:
- InputStream.mark(int),- InputStream.markSupported(),- getContentType()
 
 
-