天天看點

FileItem類的常用方法

FileItem類的常用方法:

1. boolean isFormField()

isFormField方法用于判斷FileItem類對象封裝的資料是一個普通文本表單字段,還是一個檔案表單字段,如果是普通表單字段則傳回true,否則傳回false。是以,可以使用該方法判斷是否為普通表單域,還是檔案上傳表單域。

2. String getName()

getName方法用于獲得檔案上傳字段中的檔案名。

注意IE或FireFox中擷取的檔案名是不一樣的,IE中是絕對路徑,FireFox中隻是檔案名。

3. String getFieldName()

getFieldName方法用于傳回表單标簽name屬性的值。如上例中<input type="text" name="column" />的value。

4. void write(File file)

write方法用于将FileItem對象中儲存的主體内容儲存到某個指定的檔案中。如果FileItem對象中的主體内容是儲存在某個臨時檔案中,該方法順利完成後,臨時檔案有可能會被清除。該方法也可将普通表單字段内容寫入到一個檔案中,但它主要用途是将上傳的檔案内容儲存在本地檔案系統中。

5. String getString()

getString方法用于将FileItem對象中儲存的資料流内容以一個字元串傳回,它有兩個重載的定義形式:

public java.lang.String getString()

public java.lang.String getString(java.lang.String encoding)

throws java.io.UnsupportedEncodingException

前者使用預設的字元集編碼将主體内容轉換成字元串,後者使用參數指定的字元集編碼将主體内容轉換成字元串。如果在讀取普通表單字段元素的内容時出現了中文亂碼現象,請調用第二個getString方法,并為之傳遞正确的字元集編碼名稱。

6. String getContentType()

getContentType 方法用于獲得上傳檔案的類型,即表單字段元素描述頭屬性“Content-Type”的值,如“image/jpeg”。如果FileItem類對象對應的是普通表單字段,該方法将傳回null。

7. boolean isInMemory()

isInMemory方法用來判斷FileItem對象封裝的資料内容是存儲在記憶體中,還是存儲在臨時檔案中,如果存儲在記憶體中則傳回true,否則傳回false。

8. void delete()

delete方法用來清空FileItem類對象中存放的主體内容,如果主體内容被儲存在臨時檔案中,delete方法将删除該臨時檔案。

盡管當FileItem對象被垃圾收集器收集時會自動清除臨時檔案,但及時調用delete方法可以更早的清除臨時檔案,釋放系統存儲資源。另外,當系統出現異常時,仍有可能造成有的臨時檔案被永久儲存在了硬碟中。

9. InputStream getInputStream()

以流的形式傳回上傳檔案的資料内容。

10. long getSize()

傳回該上傳檔案的大小(以位元組為機關)。