Pack200 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将 JAR 文件转换为 Pack200 格式的打包流或从打包流转换。
[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
- 继承
- 属性
注解
将 JAR 文件转换为 Pack200 格式的打包流或从打包流转换。 请参阅网络传输格式 JSR 200 规范 http://jcp.org/aboutJava/communityprocess/review/jsr200/index.html
通常,应用程序开发人员使用打包器引擎在网站上部署或托管 JAR 文件。 解包引擎由部署应用程序用来将字节流转换回 JAR 格式。
下面是使用打包器和解压缩程序的示例:
{@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 Web 服务器上。 部署应用程序可以使用“Accept-Encoding=pack200-gzip”。 这向服务器表明,客户端应用程序需要使用 Pack200 编码的文件版本,并使用 gzip 进一步压缩。 有关更多详细信息和技术,请参阅 Java 部署指南 。
除非另有说明,否则将参数传递给 null
此类中的构造函数或方法将导致 NullPointerException
引发。
在 1.5 中添加。
适用于 . 的 java.util.jar.Pack200
Java 文档
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。
构造函数
Pack200(IntPtr, JniHandleOwnership) |
创建 JNI 对象的托管表示形式时使用的构造函数;由运行时调用。 |
属性
Class |
返回此 |
Handle |
基础 Android 实例的句柄。 (继承自 Object) |
JniIdentityHashCode |
将 JAR 文件转换为 Pack200 格式的打包流或从打包流转换。 (继承自 Object) |
JniPeerMembers |
将 JAR 文件转换为 Pack200 格式的打包流或从打包流转换。 |
PeerReference |
将 JAR 文件转换为 Pack200 格式的打包流或从打包流转换。 (继承自 Object) |
ThresholdClass |
此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。 |
ThresholdType |
此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。 |
方法
Clone() |
创建并返回此对象的副本。 (继承自 Object) |
Dispose() |
将 JAR 文件转换为 Pack200 格式的打包流或从打包流转换。 (继承自 Object) |
Dispose(Boolean) |
将 JAR 文件转换为 Pack200 格式的打包流或从打包流转换。 (继承自 Object) |
Equals(Object) |
指示其他对象是否“等于”此对象。 (继承自 Object) |
GetHashCode() |
返回对象的哈希代码值。 (继承自 Object) |
JavaFinalize() |
当垃圾回收确定不再引用该对象时,由对象上的垃圾回收器调用。 (继承自 Object) |
NewPacker() |
获取实现 Packer 的类的新实例。 |
NewUnpacker() |
获取实现 Unpacker 的类的新实例。 |
Notify() |
唤醒正在等待此对象的监视器的单个线程。 (继承自 Object) |
NotifyAll() |
唤醒正在等待此对象的监视器的所有线程。 (继承自 Object) |
SetHandle(IntPtr, JniHandleOwnership) |
设置 Handle 属性。 (继承自 Object) |
ToArray<T>() |
将 JAR 文件转换为 Pack200 格式的打包流或从打包流转换。 (继承自 Object) |
ToString() |
返回对象的字符串表示形式。 (继承自 Object) |
UnregisterFromRuntime() |
将 JAR 文件转换为 Pack200 格式的打包流或从打包流转换。 (继承自 Object) |
Wait() |
使当前线程等待,直到唤醒它,通常是通过 em 通知/em> 或 <em>interrupted</em>。<>< (继承自 Object) |
Wait(Int64, Int32) |
使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted</em>>,或直到经过一定数量的实时。 (继承自 Object) |
Wait(Int64) |
使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted</em>>,或直到经过一定数量的实时。 (继承自 Object) |
显式接口实现
IJavaPeerable.Disposed() |
将 JAR 文件转换为 Pack200 格式的打包流或从打包流转换。 (继承自 Object) |
IJavaPeerable.DisposeUnlessReferenced() |
将 JAR 文件转换为 Pack200 格式的打包流或从打包流转换。 (继承自 Object) |
IJavaPeerable.Finalized() |
将 JAR 文件转换为 Pack200 格式的打包流或从打包流转换。 (继承自 Object) |
IJavaPeerable.JniManagedPeerState |
将 JAR 文件转换为 Pack200 格式的打包流或从打包流转换。 (继承自 Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
将 JAR 文件转换为 Pack200 格式的打包流或从打包流转换。 (继承自 Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
将 JAR 文件转换为 Pack200 格式的打包流或从打包流转换。 (继承自 Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
将 JAR 文件转换为 Pack200 格式的打包流或从打包流转换。 (继承自 Object) |
扩展方法
JavaCast<TResult>(IJavaObject) |
执行 Android 运行时检查的类型转换。 |
JavaCast<TResult>(IJavaObject) |
将 JAR 文件转换为 Pack200 格式的打包流或从打包流转换。 |
GetJniTypeName(IJavaPeerable) |
将 JAR 文件转换为 Pack200 格式的打包流或从打包流转换。 |