JavaTM 2 Platform
Standard Ed. 6

java.util.jar
介面 Pack200.Unpacker

正在封閉類別:
Pack200

public static interface Pack200.Unpacker

解包器引擎將打套件的串流轉換為 JAR 檔案。可使用 Pack200.newUnpacker() 獲得該引擎的實例。

此引擎所產生的每個 JAR 檔案將包括字元串 "PACK200" 作為 zip 檔案註釋。這允許部署者檢測 JAR 存檔是否被打包或解套件。

解包器的此版本與以前所有版本相容。

從以下版本開始:
1.5

欄位摘要
static String DEFLATE_HINT
          此屬性指示解包器應該忽略 DEFLATE_HINT 的所有已傳輸的值,並用給定值 TRUEFALSE 替換它們。
static String FALSE
          字元串 "false",某些屬性的可能值。
static String KEEP
          字元串 "keep",某些屬性的可能值。
static String PROGRESS
          解包器的百分比進度,由解包器定期更新。
static String TRUE
          字元串 "true",某些屬性的可能值。
 
方法摘要
 void addPropertyChangeListener(PropertyChangeListener listener)
          為屬性映射上的 PropertyChange 事件註冊一個偵聽器。
 SortedMap<String,String> properties()
          獲取此引擎屬性集。
 void removePropertyChangeListener(PropertyChangeListener listener)
          移除由 addPropertyChangeListener(java.beans.PropertyChangeListener) 所添加的 PropertyChange 事件偵聽器。
 void unpack(File in, JarOutputStream out)
          讀取 Pack200 存檔,並將已編碼的 JAR 寫入 JarOutputStream。
 void unpack(InputStream in, JarOutputStream out)
          讀取 Pack200 存檔,並將已編碼的 JAR 寫入 JarOutputStream。
 

欄位詳細資訊

KEEP

static final String KEEP
字元串 "keep",某些屬性的可能值。

另請參見:
DEFLATE_HINT, 常數欄位值

TRUE

static final String TRUE
字元串 "true",某些屬性的可能值。

另請參見:
DEFLATE_HINT, 常數欄位值

FALSE

static final String FALSE
字元串 "false",某些屬性的可能值。

另請參見:
DEFLATE_HINT, 常數欄位值

DEFLATE_HINT

static final String DEFLATE_HINT
此屬性指示解包器應該忽略 DEFLATE_HINT 的所有已傳輸的值,並用給定值 TRUEFALSE 替換它們。預設值為特殊字元串 KEEP,要求解包器保留所有已傳輸的壓縮提示。

另請參見:
常數欄位值

PROGRESS

static final String PROGRESS
解包器的百分比進度,由解包器定期更新。值 0 - 100 是正常的,-1 指示停止。用 PropertyChangeListener 觀察此屬性。

至少,解包器必須在打包操作開始時把進度設置為 0,在結束時把進度設置為 100。

另請參見:
addPropertyChangeListener(java.beans.PropertyChangeListener), 常數欄位值
方法詳細資訊

properties

SortedMap<String,String> properties()
獲取此引擎屬性集。此集合是“實時視圖”,所以更改其內容可立即影響 Packer 引擎,並且在映射中可立即見到引擎中的變化(如進度指示)。

屬性映射可能包含指定和預設屬性的預定義實作。鼓勵使用者在修改已存在的屬性前閱讀該資訊,並完全理解其含意。

特定實作的屬性是用與實作者相關的套件名稱作前綴的,以 com. 或類似前綴開頭。以 pack.unpack. 開頭的所有屬性名稱保留給此 API 使用。

未知的屬性可以用未指定的錯誤忽略或拒絕,並且無效的條目可能導致拋出未指定的錯誤。

返回:
選項鍵字元串到選項值的有序關聯。

unpack

void unpack(InputStream in,
            JarOutputStream out)
            throws IOException
讀取 Pack200 存檔,並將已編碼的 JAR 寫入 JarOutputStream。將讀取輸入串流的全部內容。使用下面描述的替代方法將 Pack200 存檔讀取到檔案中並傳遞 File 物件可能更加高效。

關閉其輸入,但並不關閉其輸出。(輸出可以累積更多元素。)

參數:
in - 一個 InputStream。
out - 一個 JarOutputStream。
拋出:
IOException - 如果遇到錯誤。

unpack

void unpack(File in,
            JarOutputStream out)
            throws IOException
讀取 Pack200 存檔,並將已編碼的 JAR 寫入 JarOutputStream。

不關閉其輸出。(輸出可以累積更多元素。)

參數:
in - 一個 File。
out - 一個 JarOutputStream。
拋出:
IOException - 如果遇到錯誤。

addPropertyChangeListener

void addPropertyChangeListener(PropertyChangeListener listener)
為屬性映射上的 PropertyChange 事件註冊一個偵聽器。通常應用程序使用它來更新進度條。

參數:
listener - 更改屬性時要調用的物件。
另請參見:
properties(), PROGRESS

removePropertyChangeListener

void removePropertyChangeListener(PropertyChangeListener listener)
移除由 addPropertyChangeListener(java.beans.PropertyChangeListener) 所添加的 PropertyChange 事件偵聽器。

參數:
listener - 要移除的 PropertyChange 偵聽器。
另請參見:
addPropertyChangeListener(java.beans.PropertyChangeListener)

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only