|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.net.URLConnection
public abstract class URLConnection
abstract クラス URLConnection
は、アプリケーションと URL との間の通信リンクを表すすべてのクラスのスーパークラスです。このクラスのインスタンスを使用して、URL で参照するリソースの読み込みと書き込みの両方を行うことができます。一般に、URL への接続の作成は、次のような複数の手順が必要となります。
openConnection() |
connect() |
---|---|
リモートリソースへの接続に影響するパラメータを操作する | リソースとの間で、クエリーヘッダフィールドおよびコンテンツをやり取りする |
openConnection
メソッドを呼び出すことによって、接続オブジェクトを生成する
connect
メソッドを使用して、リモートオブジェクトへの実際の接続を確立する
セットアップパラメータを修正するには次のメソッドを使用します。
setAllowUserInteraction
setDoInput
setDoOutput
setIfModifiedSince
setUseCaches
一般要求プロパティーを修正するには次のメソッドを使用します。
setRequestProperty
AllowUserInteraction
パラメータと UseCaches
パラメータのデフォルト値を設定するには、setDefaultAllowUserInteraction
メソッドと setDefaultUseCaches
メソッドを使用します。
上記の set
メソッドはそれぞれ対応する get
メソッドを持ちます。それらのメソッドを使えば、パラメータまたは一般要求プロパティーの値を取得できます。具体的にどのパラメータや一般要求プロパティーが適用可能であるかは、プロトコルごとに異なります。
リモートオブジェクトへの接続を確立したあと、ヘッダフィールドと内容にアクセスするには次のメソッドを使用します。
getContent
getHeaderField
getInputStream
getOutputStream
一部のヘッダーフィールドは頻繁にアクセスされます。関連するメソッドを次に示します。
getContentEncoding
getContentLength
getContentType
getDate
getExpiration
getLastModifed
上記を使えば、これらのフィールドに容易にアクセスできます。getContentType
メソッドは、リモートオブジェクトの型を判別するときに getContent
メソッドによって使用されます。サブクラスでは、getContentType
メソッドをオーバーライドすると便利なことがあります。
通常の場合、接続前のパラメータと一般要求プロパティーはすべて、無視してかまいません。接続前のパラメータと要求プロパティーは適切な値にデフォルト設定されます。このインタフェースの大部分のクライアントで関心を持たれるメソッドは、2 つしかありません。getInputStream
と getContent
です。これらは、URL
クラスの簡易メソッドによってミラー化されます。
http
接続の要求プロパティーとヘッダフィールドの詳細は、次のサイトを参照してください。
http://www.ietf.org/rfc/rfc2068.txt
fileNameMap
に関する注:JDK 1.1.6 より前のバージョンでは、URLConnection
のフィールド fileNameMap
は public でした。JDK 1.1.6 以降では、fileNameMap
は private になっています。アクセス用メソッド getFileNameMap
と変更用メソッド setFileNameMap
が、この情報へのアクセス用として追加されました。この変更については、互換性のページでも説明されています。
要求後に URLConnection の InputStream または OutputStream 上で close() メソッドを呼び出すと、特定のプロトコル仕様でほかの動作が規定されていないかぎり、このインスタンスに関連付けられたネットワークリソースが解放されます。
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 boolean |
allowUserInteraction
true の場合、この URL はユーザーとの対話処理 (認証ダイアログのポップアップなど) の実行が可能なコンテキストで検査されています。 |
protected boolean |
connected
false の場合、この接続オブジェクトは、指定された URL への通信リンクを作成していません。 |
protected boolean |
doInput
この変数は、 setDoInput メソッドによって設定されます。 |
protected boolean |
doOutput
この変数は、 setDoOutput メソッドによって設定されます。 |
protected long |
ifModifiedSince
一部のプロトコルでは、特定の時刻よりもあとにオブジェクトが更新されていない場合に、オブジェクトのフェッチを省略することができます。 |
protected URL |
url
URL は、World Wide Web 上にあるリモートオブジェクトを表します。 |
protected boolean |
useCaches
true の場合、プロトコルは、可能な場合はいつでもキャッシュを使用できます。 |
コンストラクタの概要 | |
---|---|
protected |
URLConnection(URL url)
指定された URL への URL 接続を構築します。 |
メソッドの概要 | |
---|---|
void |
addRequestProperty(String key,
String value)
キーと値のペアで指定された一般要求プロパティーを追加します。 |
abstract void |
connect()
この URL が参照するリソースへの通信リンクを確立します (通信リンクが確立されていない場合)。 |
boolean |
getAllowUserInteraction()
このオブジェクトの allowUserInteraction フィールド値を返します。 |
int |
getConnectTimeout()
接続タイムアウトの設定を返します。 |
Object |
getContent()
この URL 接続のコンテンツを取得します。 |
Object |
getContent(Class[] classes)
この URL 接続のコンテンツを取得します。 |
String |
getContentEncoding()
content-encoding ヘッダフィールドの値を返します。 |
int |
getContentLength()
content-length ヘッダフィールドの値を返します。 |
String |
getContentType()
content-type ヘッダフィールドの値を返します。 |
long |
getDate()
date ヘッダフィールドの値を返します。 |
static boolean |
getDefaultAllowUserInteraction()
allowUserInteraction フィールドのデフォルト値を返します。 |
static String |
getDefaultRequestProperty(String key)
推奨されていません。 URLConnection の該当インスタンスを取得したあとは、インスタンス固有の getRequestProperty メソッドを使用します。 |
boolean |
getDefaultUseCaches()
URLConnection の useCaches フラグのデフォルト値を返します。 |
boolean |
getDoInput()
この URLConnection の doInput フラグの値を返します。 |
boolean |
getDoOutput()
この URLConnection の doOutput フラグの値を返します。 |
long |
getExpiration()
expires ヘッダフィールドの値を返します。 |
static FileNameMap |
getFileNameMap()
データファイルからファイル名マップ (mimetable) をロードします。 |
String |
getHeaderField(int n)
n 番目のヘッダーフィールドの値を返します。 |
String |
getHeaderField(String name)
指定されたヘッダフィールドの値を返します。 |
long |
getHeaderFieldDate(String name,
long Default)
指定されたフィールドを日付として構文解析した値を返します。 |
int |
getHeaderFieldInt(String name,
int Default)
指定されたフィールドを数値として構文解析した値を返します。 |
String |
getHeaderFieldKey(int n)
n 番目のヘッダフィールドのキーを返します。 |
Map<String,List<String>> |
getHeaderFields()
ヘッダーフィールドの変更不可能なマップを返します。 |
long |
getIfModifiedSince()
このオブジェクトの ifModifiedSince フィールド値を返します。 |
InputStream |
getInputStream()
この接続からの入力を受け取る入力ストリームを返します。 |
long |
getLastModified()
last-modified ヘッダーフィールドの値を返します。 |
OutputStream |
getOutputStream()
この接続に書き込みを行う出力ストリームを返します。 |
Permission |
getPermission()
このオブジェクトが表す接続のために必要なアクセス権を表す Permission オブジェクトを返します。 |
int |
getReadTimeout()
読み取りタイムアウトの設定を返します。 |
Map<String,List<String>> |
getRequestProperties()
この接続の一般要求プロパティーの変更不可能なマップを返します。 |
String |
getRequestProperty(String key)
この接続の指定された一般要求プロパティーの値を返します。 |
URL |
getURL()
この URLConnection の URL フィールド値を返します。 |
boolean |
getUseCaches()
この URLConnection の useCaches フィールド値を返します。 |
static String |
guessContentTypeFromName(String fname)
URL の指定された「ファイル」コンポーネントを基に、オブジェクトのコンテンツ型を推測します。 |
static String |
guessContentTypeFromStream(InputStream is)
入力ストリームの先頭の文字を基に、入力ストリームの種類の決定を試みます。 |
void |
setAllowUserInteraction(boolean allowuserinteraction)
この URLConnection の allowUserInteraction フィールド値を設定します。 |
void |
setConnectTimeout(int timeout)
この URLConnection が参照するリソースへの通信リンクのオープン時に、指定されたミリ秒単位のタイムアウト値が使用されるように設定します。 |
static void |
setContentHandlerFactory(ContentHandlerFactory fac)
アプリケーションの ContentHandlerFactory を設定します。 |
static void |
setDefaultAllowUserInteraction(boolean defaultallowuserinteraction)
将来に作成されるすべての URLConnection オブジェクトの allowUserInteraction フィールドについて、デフォルト値を指定された値に設定します。 |
static void |
setDefaultRequestProperty(String key,
String value)
推奨されていません。 URLConnection の該当インスタンスを取得したあとは、インスタンス固有の setRequestProperty メソッドを使用します。このメソッドを呼び出しても、何の効果もありません。 |
void |
setDefaultUseCaches(boolean defaultusecaches)
useCaches フィールドのデフォルト値を、指定された値に設定します。 |
void |
setDoInput(boolean doinput)
この URLConnection の doInput フィールド値を指定した値に設定します。 |
void |
setDoOutput(boolean dooutput)
この URLConnection の doOutput フィールドの値を、指定された値に設定します。 |
static void |
setFileNameMap(FileNameMap map)
FileNameMap を設定します。 |
void |
setIfModifiedSince(long ifmodifiedsince)
この URLConnection の ifModifiedSince フィールド値を、指定された値に設定します。 |
void |
setReadTimeout(int timeout)
読み取りタイムアウトを、指定されたミリ秒単位のタイムアウトに設定します。 |
void |
setRequestProperty(String key,
String value)
一般要求プロパティーを設定します。 |
void |
setUseCaches(boolean usecaches)
この URLConnection の useCaches フィールドを、指定された値に設定します。 |
String |
toString()
この URL 接続の String 表現を返します。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
フィールドの詳細 |
---|
protected URL url
このフィールドの値にアクセスするには、getURL
メソッドを使用します。
この変数のデフォルト値は、URLConnection
コンストラクタの URL 引数の値です。
getURL()
,
url
protected boolean doInput
setDoInput
メソッドによって設定されます。その値は、getDoInput
メソッドによって返されます。
URL 接続は、入力または出力、あるいはその両方に対して使用できます。doInput
フラグを true
に設定した場合、それは、アプリケーションが URL 接続からデータを読み取る予定であることを示します。
このフィールドのデフォルト値は true
です。
getDoInput()
,
setDoInput(boolean)
protected boolean doOutput
setDoOutput
メソッドによって設定されます。その値は、getDoOutput
メソッドによって返されます。
URL 接続は、入力または出力、あるいはその両方に対して使用できます。doOutput
フラグを true
に設定した場合、それは、アプリケーションが URL 接続にデータを書き込む予定であることを示します。
このフィールドのデフォルト値は false
です。
getDoOutput()
,
setDoOutput(boolean)
protected boolean allowUserInteraction
true
の場合、この URL
はユーザーとの対話処理 (認証ダイアログのポップアップなど) の実行が可能なコンテキストで検査されています。false
の場合、ユーザーとの対話処理は許可されていません。
このフィールドの値に設定するには、setAllowUserInteraction
メソッドを使用します。その値は、getAllowUserInteraction
メソッドによって返されます。そのデフォルト値は、setDefaultAllowUserInteraction
メソッドを最後に呼び出した時の引数の値になります。
getAllowUserInteraction()
,
setAllowUserInteraction(boolean)
,
setDefaultAllowUserInteraction(boolean)
protected boolean useCaches
true
の場合、プロトコルは、可能な場合はいつでもキャッシュを使用できます。false
の場合、プロトコルは常に、オブジェクトの新規のコピーを取得する必要があります。
このフィールドは、setUseCaches
メソッドによって設定されます。その値は、getUseCaches
メソッドによって返されます。
このフィールドのデフォルト値は、setDefaultUseCaches
メソッドを最後に呼び出したときに指定した値です。
setUseCaches(boolean)
,
getUseCaches()
,
setDefaultUseCaches(boolean)
protected long ifModifiedSince
0 以外の値は、1970 年 1 月 1 日 GMT から起算したミリ秒数を表します。オブジェクトが取得されるのは、その時刻よりも後にオブジェクトが変更された場合だけです。
この変数は、setIfModifiedSince
メソッドによって設定されます。その値は、getIfModifiedSince
メソッドによって返されます。
このフィールドのデフォルト値は 0
(常にオブジェクトをフェッチする) です。
getIfModifiedSince()
,
setIfModifiedSince(long)
protected boolean connected
false
の場合、この接続オブジェクトは、指定された URL への通信リンクを作成していません。true
の場合、通信リンクが確立されています。
コンストラクタの詳細 |
---|
protected URLConnection(URL url)
url
- 指定された URLメソッドの詳細 |
---|
public static FileNameMap getFileNameMap()
setFileNameMap(java.net.FileNameMap)
public static void setFileNameMap(FileNameMap map)
セキュリティーマネージャーが存在する場合、このメソッドは最初にセキュリティーマネージャーの checkSetFactory
メソッドを呼び出すことにより、この操作が許可されていることを確認します。この結果、SecurityException がスローされることがあります。
map
- 設定する FileNameMap
SecurityException
- セキュリティーマネージャーが存在し、その checkSetFactory
メソッドがこの操作を許可しない場合SecurityManager.checkSetFactory()
,
getFileNameMap()
public abstract void connect() throws IOException
connect
メソッドを呼び出したときに、接続がすでに確立されていれば (connected
フィールドの値が true
であれば)、メソッド呼び出しは無視されます。
URLConnection オブジェクトは 2 つの段階を経験します。それらはまず作成され、次に接続されます。作成されてから接続されるまでの間は、doInput や useCaches など、さまざまなオプションを指定できます。接続後にそれらを設定しようとすると、エラーが発生します。getContentLength などの、接続されていることに依存する操作は、必要に応じて暗黙的に接続を実行します。
SocketTimeoutException
- 接続が確立される前にタイムアウトが過ぎた場合
IOException
- 接続のオープン中に入出力エラーが発生した場合connected
,
getConnectTimeout()
,
setConnectTimeout(int)
public void setConnectTimeout(int timeout)
このメソッドの非標準実装のなかには、指定されたタイムアウトを無視するものもあります。設定されている接続タイムアウトを確認するには、getConnectTimeout() を呼び出してください。
timeout
- ミリ秒単位の接続タイムアウト値を表す int
IllegalArgumentException
- timeout パラメータが負の場合getConnectTimeout()
,
connect()
public int getConnectTimeout()
このオプションが無効 (タイムアウトが無限) の場合は 0 を返します。
int
setConnectTimeout(int)
,
connect()
public void setReadTimeout(int timeout)
このメソッドの非標準実装のなかには、指定されたタイムアウトを無視するものもあります。設定されている読み取りタイムアウトを確認するには、getReadTimeout() を呼び出してください。
timeout
- 使用すべきミリ秒単位のタイムアウト値を指定する int
IllegalArgumentException
- timeout パラメータが負の場合getReadTimeout()
,
InputStream.read()
public int getReadTimeout()
int
setReadTimeout(int)
,
InputStream.read()
public URL getURL()
URLConnection
の URL
フィールド値を返します。
URLConnection
の URL
フィールド値url
public int getContentLength()
content-length
ヘッダフィールドの値を返します。
-1
public String getContentType()
content-type
ヘッダフィールドの値を返します。
null
getHeaderField(java.lang.String)
public String getContentEncoding()
content-encoding
ヘッダフィールドの値を返します。
null
getHeaderField(java.lang.String)
public long getExpiration()
expires
ヘッダフィールドの値を返します。
getHeaderField(java.lang.String)
public long getDate()
date
ヘッダフィールドの値を返します。
0
。返される値は、1970 年 1 月 1 日 GMT からのミリ秒数getHeaderField(java.lang.String)
public long getLastModified()
last-modified
ヘッダーフィールドの値を返します。結果は、1970 年 1 月 1 日 GMT からのミリ秒数です。
URLConnection
が参照するリソースが最後に変更された日付。不明の場合は 0getHeaderField(java.lang.String)
public String getHeaderField(String name)
同じヘッダーを別の値で複数回設定する可能性のある接続で呼び出される場合は、最後の値だけが返されます。
name
- ヘッダフィールドの名前
null
public Map<String,List<String>> getHeaderFields()
public int getHeaderFieldInt(String name, int Default)
この形式の getHeaderField
が存在しているのは、一部の接続タイプ (http-ng
など) が事前に構文解析されたヘッダーを持つからです。そうした接続タイプのクラスは、このメソッドをオーバーライドすることで構文解析を回避することができます。
name
- ヘッダフィールドの名前Default
- デフォルト値
Default
値が返されるpublic long getHeaderFieldDate(String name, long Default)
この形式の getHeaderField
が存在しているのは、一部の接続タイプ (http-ng
など) が事前に構文解析されたヘッダーを持つからです。そうした接続タイプのクラスは、このメソッドをオーバーライドすることで構文解析を回避することができます。
name
- ヘッダフィールドの名前Default
- デフォルト値
Default
引数の値が返されるpublic String getHeaderFieldKey(int n)
n
番目のヘッダフィールドのキーを返します。フィールド数が n+1
個よりも少ない場合は null
を返します。
n
- インデックス。ここで n は 0 以上
n
番目のヘッダーフィールドのキー。フィールド数が n+1
個よりも少ない場合は null
public String getHeaderField(int n)
n
番目のヘッダーフィールドの値を返します。フィールド数が n+1
個よりも少ない場合は null
を返します。
このメソッドと getHeaderFieldKey
メソッドを組み合わせて使用すると、メッセージ内のすべてのヘッダーを繰り返し処理することができます。
n
- インデックス。ここで n は 0 以上
n
番目のヘッダーフィールドの値。フィールド数が n+1
個よりも少ない場合は null
getHeaderFieldKey(int)
public Object getContent() throws IOException
このメソッドでは最初に getContentType
メソッドを呼び出し、オブジェクトの情報の種類を判別します。アプリケーションでその種類の内容を見るのが初めての場合は、その種類の情報ヘッダーが作成されます。
setContentHandlerFactory
メソッドを使用し ContentHandler ファクトリのインスタンスがセットアップされている場合は、そのインスタンスの createContentHandler
メソッドを呼び出し、内容の種類を引数として渡す。その結果、その内容の種類の ContentHandler が返される
createContentHandler
メソッドが null
を返す場合、アプリケーションは次の名前のクラスをロードする
ここで、<contentType> は、内容の種類を表わす文字列のスラッシュ文字をすべてピリオド (「sun.net.www.content.<contentType>
.
」) に置換し、アルファベット以外のすべての文字を下線文字「_
」に置換することによって生成される。アルファベット文字とは、26 個の大文字の ASCII 文字 (「A
」から「Z
」まで)、26 個の小文字の ASCII 文字 (「a
」から「z
」まで、および 10 個の ASCII 数字 (「0
」から「9
」まで) を表す。指定したクラスが存在しない場合、または ContentHandler
のサブクラスではない場合は、UnknownServiceException
がスローされる
instanceof
演算子を使用することをお勧めする
IOException
- コンテンツの取得中に入出力エラーが発生した場合
UnknownServiceException
- プロトコルがそのコンテンツタイプをサポートしていない場合ContentHandlerFactory.createContentHandler(java.lang.String)
,
getContentType()
,
setContentHandlerFactory(java.net.ContentHandlerFactory)
public Object getContent(Class[] classes) throws IOException
classes
- 要求された型を示す Class
配列
instanceof
演算子を使用することをお勧めする
IOException
- コンテンツの取得中に入出力エラーが発生した場合
UnknownServiceException
- プロトコルがそのコンテンツタイプをサポートしていない場合getContent()
,
ContentHandlerFactory.createContentHandler(java.lang.String)
,
getContent(java.lang.Class[])
,
setContentHandlerFactory(java.net.ContentHandlerFactory)
public Permission getPermission() throws IOException
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 番目の場合、アクセス権は接続の前に取得およびテストされます。
IOException
- アクセス権の処理にネットワークまたはファイル入出力が必要なときに、処理中に例外が発生した場合public InputStream getInputStream() throws IOException
IOException
- 入力ストリームの作成中に入出力エラーが発生した場合
UnknownServiceException
- プロトコルが入力をサポートしていない場合setReadTimeout(int)
,
getReadTimeout()
public OutputStream getOutputStream() throws IOException
IOException
- 出力ストリームの作成中に入出力エラーが発生した場合
UnknownServiceException
- プロトコルが出力をサポートしていない場合public String toString()
String
表現を返します。
Object
内の toString
URLConnection
の文字列表現public void setDoInput(boolean doinput)
URLConnection
の doInput
フィールド値を指定した値に設定します。
URL 接続は、入力または出力、あるいはその両方に対して使用できます。URL 接続を入力用として使用する予定である場合は doInput フラグを true に設定し、そうでない場合は false に設定します。policy.allowSystemProperty プロパティーのデフォルト値は true です。
doinput
- 新しい値
IllegalStateException
- すでに接続されている場合doInput
,
getDoInput()
public boolean getDoInput()
URLConnection
の doInput
フラグの値を返します。
URLConnection
の doInput
フラグの値setDoInput(boolean)
public void setDoOutput(boolean dooutput)
URLConnection
の doOutput
フィールドの値を、指定された値に設定します。
URL 接続は、入力または出力、あるいはその両方に対して使用できます。URL 接続を出力用として使用する予定である場合は doOutput フラグを true に設定し、そうでない場合は false に設定します。デフォルトは false です。
dooutput
- 新しい値
IllegalStateException
- すでに接続されている場合getDoOutput()
public boolean getDoOutput()
URLConnection
の doOutput
フラグの値を返します。
URLConnection
の doOutput
フラグの値setDoOutput(boolean)
public void setAllowUserInteraction(boolean allowuserinteraction)
URLConnection
の allowUserInteraction
フィールド値を設定します。
allowuserinteraction
- 新しい値
IllegalStateException
- すでに接続されている場合getAllowUserInteraction()
public boolean getAllowUserInteraction()
allowUserInteraction
フィールド値を返します。
allowUserInteraction
フィールド値setAllowUserInteraction(boolean)
public static void setDefaultAllowUserInteraction(boolean defaultallowuserinteraction)
URLConnection
オブジェクトの allowUserInteraction
フィールドについて、デフォルト値を指定された値に設定します。
defaultallowuserinteraction
- 新しい値getDefaultAllowUserInteraction()
public static boolean getDefaultAllowUserInteraction()
allowUserInteraction
フィールドのデフォルト値を返します。
デフォルト値は「sticky」(すべての URLConnection の静的な状態の一部) です。このフラグは、次回以降に作成されるすべての URLConnection に対して適用されます。
allowUserInteraction
フィールドのデフォルト値setDefaultAllowUserInteraction(boolean)
public void setUseCaches(boolean usecaches)
URLConnection
の useCaches
フィールドを、指定された値に設定します。
プロトコルによってはドキュメントのキャッシングを行う場合があります。場合によってはキャッシュを無視して情報を転送する (ブラウザの「再読込」ボタンなど) ことが重要なこともあります。接続の useCaches フラグが true の場合、接続は、可能な場合はいつでもキャッシュを使用できます。false の場合、キャッシュは無視されます。デフォルト値は DefaultUseCaches の値によって決まりますが、DefaultUseCaches のデフォルト値は true です。
usecaches
- キャッシュへの書き込みが可能かどうかを示す boolean
値
IllegalStateException
- すでに接続されている場合getUseCaches()
public boolean getUseCaches()
URLConnection
の useCaches
フィールド値を返します。
URLConnection
の useCaches
フィールド値setUseCaches(boolean)
public void setIfModifiedSince(long ifmodifiedsince)
URLConnection
の ifModifiedSince
フィールド値を、指定された値に設定します。
ifmodifiedsince
- 新しい値
IllegalStateException
- すでに接続されている場合getIfModifiedSince()
public long getIfModifiedSince()
ifModifiedSince
フィールド値を返します。
ifModifiedSince
フィールド値setIfModifiedSince(long)
public boolean getDefaultUseCaches()
URLConnection
の useCaches
フラグのデフォルト値を返します。
デフォルト値は「sticky」(すべての URLConnection の静的な状態の一部) です。このフラグは、次回以降に作成されるすべての URLConnection に対して適用されます。
URLConnection
の useCaches
フラグのデフォルト値setDefaultUseCaches(boolean)
public void setDefaultUseCaches(boolean defaultusecaches)
useCaches
フィールドのデフォルト値を、指定された値に設定します。
defaultusecaches
- 新しい値getDefaultUseCaches()
public void setRequestProperty(String key, String value)
注:複数のプロパティーを 1 つのプロパティーに付加できるようにする、コンマで区切られたリスト構文を使用するために、HTTP は、同じキーで複数のインスタンスを正当に持てる要求プロパティーをすべて必要とします。
key
- 要求を識別するキーワード (「accept
」など)value
- キーワードに関連した値
IllegalStateException
- すでに接続されている場合
NullPointerException
- キーが null
の場合getRequestProperty(java.lang.String)
public void addRequestProperty(String key, String value)
key
- 要求を識別するキーワード (「accept
」など)value
- キーワードに関連した値
IllegalStateException
- すでに接続されている場合
NullPointerException
- キーが null の場合getRequestProperties()
public String getRequestProperty(String key)
key
- 要求を識別するキーワード ("accept" など)
IllegalStateException
- すでに接続されている場合setRequestProperty(java.lang.String, java.lang.String)
public Map<String,List<String>> getRequestProperties()
IllegalStateException
- すでに接続されている場合@Deprecated public static void setDefaultRequestProperty(String key, String value)
URLConnection
はその作成時に、これらのプロパティーを使って初期化されます。
key
- 要求を識別するキーワード (「accept
」など)value
- キーワードに関連した値setRequestProperty(java.lang.String,java.lang.String)
,
getDefaultRequestProperty(java.lang.String)
@Deprecated public static String getDefaultRequestProperty(String key)
key
- 要求を識別するキーワード ("accept" など)
getRequestProperty(java.lang.String)
,
setDefaultRequestProperty(java.lang.String, java.lang.String)
public static void setContentHandlerFactory(ContentHandlerFactory fac)
ContentHandlerFactory
を設定します。アプリケーションでは最大で 1 回呼び出すことができます。
コンテンツの種類を基に ContentHandler を構築する際には ContentHandlerFactory
が使用されます。
セキュリティーマネージャーが存在する場合、このメソッドは最初にセキュリティーマネージャーの checkSetFactory
メソッドを呼び出すことにより、この操作が許可されていることを確認します。この結果、SecurityException がスローされることがあります。
fac
- 目的のファクトリ
Error
- ファクトリがすでに定義されている場合
SecurityException
- セキュリティーマネージャーが存在し、その checkSetFactory
メソッドがこの操作を許可しない場合ContentHandlerFactory
,
getContent()
,
SecurityManager.checkSetFactory()
public static String guessContentTypeFromName(String fname)
getContentType
メソッドをオーバーライドするサブクラスが使用可能な簡易メソッドです。
fname
- ファイル名
getContentType()
public static String guessContentTypeFromStream(InputStream is) throws IOException
getContentType
メソッドをオーバーライドするサブクラスが、このメソッドを使用できます。
このルーチンが必要なくなるのが理想的です。しかし、コンテンツ型として不正な値を返す http
サーバーは数多くあります。さらに、標準的ではない拡張子もたくさんあります。このため、http
サーバーが返すコンテンツ型をうのみにするよりも、データを基にコンテンツ型を直接推測した方が正確な場合がよくあります。
is
- サポートがマークする入力ストリーム
null
IOException
- 入力ストリームの読み取り中に入出力エラーが発生した場合InputStream.mark(int)
,
InputStream.markSupported()
,
getContentType()
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。