|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
java.lang.Object java.net.URLConnection
public abstract class URLConnection
抽象類別 URLConnection
是全部類別的父級類別,它代表應用程序和 URL 之間的通信連接。此類別的實例可用於讀取和寫入此 URL 參考的資源。通常,創建一個到 URL 的連接需要幾個步驟:
openConnection() |
connect() |
---|---|
對影響到遠端資源連接的參數進行操作。 | 與資源交互;查詢頭欄位和內容。 |
openConnection
方法創建連接物件。
connect
方法建立到遠端物件的實際連接。
使用以下方法修改設置參數:
setAllowUserInteraction
setDoInput
setDoOutput
setIfModifiedSince
setUseCaches
使用以下方法修改一般請求屬性:
setRequestProperty
使用 setDefaultAllowUserInteraction
和 setDefaultUseCaches
可設置 AllowUserInteraction
和 UseCaches
參數的預設值。
上面每個 set
方法都有一個用於獲取參數值或一般請求屬性值的對應 get
方法。適用的具體參數和一般請求屬性取決於協議。
在建立到遠端物件的連接後,以下方法用於存取頭欄位和內容:
getContent
getHeaderField
getInputStream
getOutputStream
某些頭欄位需要經常存取。以下方法:
getContentEncoding
getContentLength
getContentType
getDate
getExpiration
getLastModifed
提供對這些欄位的便捷存取。getContent
方法使用 getContentType
方法以確定遠端物件型別;子類別覆寫 getContentType
方法很容易。
一般情況下,所有的預連接參數和一般請求屬性都可忽略:預連接參數和一般請求屬性預設為敏感值。對於此介面的大多數客戶端而言,只有兩個需要的方法:getInputStream
和 getContent
,它們通過便捷方法鏡像到 URL
類別中。
有關 http
連接的請求屬性和頭欄位的更多資訊,可從以下位置找到:
有關http://www.ietf.org/rfc/rfc2068.txt
fileNameMap
的注意事項:在 JDK 1.1.6 以前的版本中,URLConnection
的 fileNameMap
欄位是公共的。在 JDK 1.1.6 及以後的版本中,fileNameMap
欄位是私有的;對其添加了 accessor 方法和 mutator 方法 getFileNameMap
及 setFileNameMap
以便存取。Compatibility 頁中也對此更改進行了介紹。
完成請求後,在一個 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 表示此連接要在網際網路上打開的遠端物件。 |
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()
返回頭欄位的不可修改的 Map。 |
long |
getIfModifiedSince()
返回此物件的 ifModifiedSince 欄位的值。 |
InputStream |
getInputStream()
返回從此打開的連接讀取的輸入串流。 |
long |
getLastModified()
返回 last-modified 頭欄位的值。 |
OutputStream |
getOutputStream()
返回寫入到此連接的輸出串流。 |
Permission |
getPermission()
返回一個權限物件,其代表建立此物件表示的連接所需的權限。 |
int |
getReadTimeout()
返回讀入逾時設置。 |
Map<String,List<String>> |
getRequestProperties()
返回一個由此連接的一般請求屬性構成的不可修改的 Map。 |
String |
getRequestProperty(String key)
返回此連接指定的一般請求屬性值。 |
URL |
getURL()
返回此 URLConnection 的 URL 欄位的值。 |
boolean |
getUseCaches()
返回此 URLConnection 的 useCaches 欄位的值。 |
static String |
guessContentTypeFromName(String fname)
根據 URL 的指定 "file" 部分嘗試確定物件的內容型別。 |
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
一個非零值給定一個時間,它表示距離格林威治標準時間 1970 年 1 月 1 日的毫秒數。只有在該時間之後又進行了修改時,才獲取該物件。
此變數由 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
如果在已打開連接(此時 connected
欄位的值為 true
)的情況下調用 connect
方法,則忽略該調用。
URLConnection 物件經歷兩個階段:首先創建物件,然後建立連接。在創建物件之後,建立連接之前,可指定各種選項(例如,doInput 和 UseCaches)。連接後再進行設置就會發生錯誤。連接後才能進行的操作(例如 getContentLength),如有必要,將隱式執行連接。
SocketTimeoutException
- 如果在建立連接之前逾時期滿
IOException
- 如果打開連接時發生 I/O 錯誤。connected
,
getConnectTimeout()
,
setConnectTimeout(int)
public void setConnectTimeout(int timeout)
此方法的一些非標準實作可能忽略指定的逾時。要查看連接逾時設置,請調用 getConnectTimeout()。
timeout
- 一個指定連接逾時值的 int
,以毫秒為單位
IllegalArgumentException
- 如果逾時參數為負getConnectTimeout()
,
connect()
public int getConnectTimeout()
返回 0 表明該選項被禁用(即逾時為無窮大)。
int
,以毫秒為單位setConnectTimeout(int)
,
connect()
public void setReadTimeout(int timeout)
此方法的一些非標準實作會忽略指定的逾時。要查看讀入逾時設置,請調用 getReadTimeout()。
timeout
- 一個指定要使用的逾時值的 int
,以毫秒為單位
IllegalArgumentException
- 如果逾時參數為負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 日的毫秒數。getHeaderField(java.lang.String)
public long getLastModified()
last-modified
頭欄位的值。結果為距離格林威治標準時間 1970 年 1 月 1 日的毫秒數。
URLConnection
參考的資源的上次修改日期,或者如果為未知,則返回 0。getHeaderField(java.lang.String)
public String getHeaderField(String name)
如果調用的連接多次使用不同的值設置了頭欄位,則只返回最後一次設置的值。
name
- 頭欄位的名稱。
null
。public Map<String,List<String>> getHeaderFields()
public int getHeaderFieldInt(String name, int Default)
有些連接型別(例如 http-ng
)具有預解析頭,所以存在這種形式的 getHeaderField
。用於這種連接型別的類別可覆寫此方法從而縮短解析過程。
name
- 頭欄位的名稱。Default
- 預設值。
Default
值。public long getHeaderFieldDate(String name, long Default)
有些連接型別(例如 http-ng
)具有預解析頭,所以存在這種形式的 getHeaderField
。用於該型別的連接可覆寫此方法和縮短解析過程。
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
方法建立了內容處理程序處理器實例,則調用此實例的 createContentHandler
方法,內容型別為其中的一個參數;結果為該內容型別的內容處理程序。
createContentHandler
方法返回 null
,則應用程序會載入以下名稱的類別:
其中,<contentType> 取自 content-type 字元串,將所有的斜槓字元用sun.net.www.content.<contentType>
句點
('.')替換,所有其他非字母數字字元用下劃線 '_
'替換。字母數字字元特指 26 個大寫 ASCII 字母 'A
' 到 'Z
',26 個小寫 ASCII 字母 'a
' 到 'z
'以及 10 個 ASCII 數字 '0
' 到 '9
'。如果指定的類別不存在,或者不是 ContentHandler
的子類別,則拋出一個 UnknownServiceException
。
instanceof
運算符來確定返回的物件的具體型別。
IOException
- 如果獲取內容時發生 I/O 錯誤。
UnknownServiceException
- 如果協議不支持內容型別。ContentHandlerFactory.createContentHandler(java.lang.String)
,
getContentType()
,
setContentHandlerFactory(java.net.ContentHandlerFactory)
public Object getContent(Class[] classes) throws IOException
classes
- 指示請求的型別的 Class
陣列
instanceof
運算符來確定返回的物件的具體型別。
IOException
- 如果獲取內容時發生 I/O 錯誤。
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
物件。
返回的權限可能取決於連接的狀態。例如,連接之前的權限可能不同於連接之後的權限。例如,一個 HTTP 伺服器(如 foo.com)可能將連接重定向到一台不同的主機(如 bar.com)。在連接之前,連接返回的權限將代表連接到 foo.com 所需的權限,而連接之後返回的權限將是連接到 bar.com 所需的權限。
使用權限通常有兩個目的:保護通過 URLConnection 獲取的物件的快取記憶體;檢查接收方的權限以瞭解特定的 URL。第一種情況下,應在獲取物件之後 再獲取權限。例如,在一個 HTTP 連接中,這將代表連接到最終將從該主機獲取資料的主機的權限。第二種情況下,應在連接之前 對權限進行獲取和檢查。
IOException
- 如果計算權限需要網路或檔案 I/O 並且在計算過程中出現異常。public InputStream getInputStream() throws IOException
IOException
- 如果在創建輸入串流時發生 I/O 錯誤。
UnknownServiceException
- 如果協議不支持輸入。setReadTimeout(int)
,
getReadTimeout()
public OutputStream getOutputStream() throws IOException
IOException
- 如果在創建輸出串流時發生 I/O 錯誤。
UnknownServiceException
- 如果協議不支持輸出。public String toString()
String
表示形式。
Object
中的 toString
URLConnection
的字元串表示形式。public void setDoInput(boolean doinput)
URLConnection
的 doInput
欄位的值設置為指定的值。
URL 連接可用於輸入和/或輸出。如果打算使用 URL 連接進行輸入,則將 DoInput 標誌設置為 true;如果不打算使用,則設置為 false。預設值為 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,它預設為 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)
註:HTTP 要求所有能夠合法擁有多個具有相同鍵的實例的請求屬性,使用以逗號分隔的列表語法,這樣可實作將多個屬性添加到一個屬性中。
key
- 用於識別請求的關鍵字(例如,"accept
")。value
- 與該鍵關聯的值。
IllegalStateException
- 如果已連接
NullPointerException
- 如果鍵為 null
getRequestProperty(java.lang.String)
public void addRequestProperty(String key, String value)
key
- 用於識別請求的關鍵字(例如,"accept
")。value
- 與該鍵關聯的值。
IllegalStateException
- 如果已連接
NullPointerException
- 如果鍵為 nullgetRequestProperties()
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
。一個應用程序最多只能調用一次該方法。
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
- 如果在讀取輸入串流時發生 I/O 錯誤。InputStream.mark(int)
,
InputStream.markSupported()
,
getContentType()
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。