Pack200 類別

定義

以 Pack200 格式將 JAR 檔案轉換成或從封裝數據流轉換。

[Android.Runtime.Register("java/util/jar/Pack200", DoNotGenerateAcw=true)]
public abstract class Pack200 : Java.Lang.Object
[<Android.Runtime.Register("java/util/jar/Pack200", DoNotGenerateAcw=true)>]
type Pack200 = class
    inherit Object
繼承
Pack200
屬性

備註

以 Pack200 格式將 JAR 檔案轉換成或從封裝數據流轉換。 請參閱網路傳輸格式 JSR 200 規格 http://jcp.org/aboutJava/communityprocess/review/jsr200/index.html

一般而言,Packer 引擎是由應用程式開發人員用來在網站上部署或裝載 JAR 檔案。 部署應用程式會使用解除封裝引擎,將位元組數據流轉換回JAR格式。

以下是使用 packer 和 unpacker 的範例:

{@code
               import java.util.jar.Pack200;
               import java.util.jar.Pack200.*;
               ...
               // Create the Packer object
               Packer packer = Pack200.newPacker();

               // Initialize the state by setting the desired properties
               Map p = packer.properties();
               // take more time choosing codings for better compression
               p.put(Packer.EFFORT, "7");  // default is "5"
               // use largest-possible archive segments (>10% better compression).
               p.put(Packer.SEGMENT_LIMIT, "-1");
               // reorder files for better compression.
               p.put(Packer.KEEP_FILE_ORDER, Packer.FALSE);
               // smear modification times to a single value.
               p.put(Packer.MODIFICATION_TIME, Packer.LATEST);
               // ignore all JAR deflation requests,
               // transmitting a single request to use "store" mode.
               p.put(Packer.DEFLATE_HINT, Packer.FALSE);
               // discard debug attributes
               p.put(Packer.CODE_ATTRIBUTE_PFX+"LineNumberTable", Packer.STRIP);
               // throw an error if an attribute is unrecognized
               p.put(Packer.UNKNOWN_ATTRIBUTE, Packer.ERROR);
               // pass one class file uncompressed:
               p.put(Packer.PASS_FILE_PFX+0, "mutants/Rogue.class");
               try {
                   JarFile jarFile = new JarFile("/tmp/testref.jar");
                   FileOutputStream fos = new FileOutputStream("/tmp/test.pack");
                   // Call the packer
                   packer.pack(jarFile, fos);
                   jarFile.close();
                   fos.close();

                   File f = new File("/tmp/test.pack");
                   FileOutputStream fostream = new FileOutputStream("/tmp/test.jar");
                   JarOutputStream jostream = new JarOutputStream(fostream);
                   Unpacker unpacker = Pack200.newUnpacker();
                   // Call the unpacker
                   unpacker.unpack(f, jostream);
                   // Must explicitly close the output.
                   jostream.close();
               } catch (IOException ioe) {
                   ioe.printStackTrace();
               }
            }

使用 gzip 壓縮的 Pack200 檔案可以裝載於 HTTP/1.1 網頁伺服器上。 部署應用程式可以使用 「Accept-Encoding=pack200-gzip」。。 這表示用戶端應用程式需要以Pack200編碼的檔案版本,並使用 gzip 進一步壓縮。 如需詳細資訊和技術, 請參閱Java部署指南

除非另有說明,否則將自變數傳遞 null 至這個類別中的建構函式或方法將會導致 NullPointerException 擲回 。

已在1.5中新增。

java.util.jar.Pack200Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

建構函式

Pack200(IntPtr, JniHandleOwnership)

建立 JNI 物件的 Managed 表示法時使用的建構函式;由運行時間呼叫。

屬性

Class

傳回這個 Object的運行時間類別。

(繼承來源 Object)
Handle

基礎Android實例的句柄。

(繼承來源 Object)
JniIdentityHashCode

以 Pack200 格式將 JAR 檔案轉換成或從封裝數據流轉換。

(繼承來源 Object)
JniPeerMembers

以 Pack200 格式將 JAR 檔案轉換成或從封裝數據流轉換。

PeerReference

以 Pack200 格式將 JAR 檔案轉換成或從封裝數據流轉換。

(繼承來源 Object)
ThresholdClass

此 API 支援適用於 Android 的 Mono 基礎結構,並不適合直接從您的程式代碼使用。

ThresholdType

此 API 支援適用於 Android 的 Mono 基礎結構,並不適合直接從您的程式代碼使用。

方法

Clone()

建立並傳回這個 對象的複本。

(繼承來源 Object)
Dispose()

以 Pack200 格式將 JAR 檔案轉換成或從封裝數據流轉換。

(繼承來源 Object)
Dispose(Boolean)

以 Pack200 格式將 JAR 檔案轉換成或從封裝數據流轉換。

(繼承來源 Object)
Equals(Object)

指出其他物件是否「等於」這個物件。

(繼承來源 Object)
GetHashCode()

傳回此物件的雜湊碼值。

(繼承來源 Object)
JavaFinalize()

當垃圾收集決定不再參考物件時,垃圾收集行程在 物件上呼叫。

(繼承來源 Object)
NewPacker()

取得實作Packer之類別的新實例。

NewUnpacker()

取得實作 Unpacker 之類別的新實例。

Notify()

喚醒正在等候此物件監視器的單一線程。

(繼承來源 Object)
NotifyAll()

喚醒正在等候此物件監視器的所有線程。

(繼承來源 Object)
SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
ToArray<T>()

以 Pack200 格式將 JAR 檔案轉換成或從封裝數據流轉換。

(繼承來源 Object)
ToString()

傳回物件的字串表示。

(繼承來源 Object)
UnregisterFromRuntime()

以 Pack200 格式將 JAR 檔案轉換成或從封裝數據流轉換。

(繼承來源 Object)
Wait()

讓目前線程等候直到喚醒為止,通常是藉由em <notified/em>或<em>interrupted</em> 來喚醒它。<>

(繼承來源 Object)
Wait(Int64, Int32)

讓目前的線程等到喚醒為止,通常是因為 <em>notified</em> 或 <em>interrupted</em>,或直到經過一定數量的實時為止。

(繼承來源 Object)
Wait(Int64)

讓目前的線程等到喚醒為止,通常是因為 <em>notified</em> 或 <em>interrupted</em>,或直到經過一定數量的實時為止。

(繼承來源 Object)

明確介面實作

IJavaPeerable.Disposed()

以 Pack200 格式將 JAR 檔案轉換成或從封裝數據流轉換。

(繼承來源 Object)
IJavaPeerable.DisposeUnlessReferenced()

以 Pack200 格式將 JAR 檔案轉換成或從封裝數據流轉換。

(繼承來源 Object)
IJavaPeerable.Finalized()

以 Pack200 格式將 JAR 檔案轉換成或從封裝數據流轉換。

(繼承來源 Object)
IJavaPeerable.JniManagedPeerState

以 Pack200 格式將 JAR 檔案轉換成或從封裝數據流轉換。

(繼承來源 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

以 Pack200 格式將 JAR 檔案轉換成或從封裝數據流轉換。

(繼承來源 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

以 Pack200 格式將 JAR 檔案轉換成或從封裝數據流轉換。

(繼承來源 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

以 Pack200 格式將 JAR 檔案轉換成或從封裝數據流轉換。

(繼承來源 Object)

擴充方法

JavaCast<TResult>(IJavaObject)

執行 Android 執行時間檢查的類型轉換。

JavaCast<TResult>(IJavaObject)

以 Pack200 格式將 JAR 檔案轉換成或從封裝數據流轉換。

GetJniTypeName(IJavaPeerable)

以 Pack200 格式將 JAR 檔案轉換成或從封裝數據流轉換。

適用於