- java.lang.Object
- 
- java.util.jar.Pack200
 
- 
 @Deprecated(since="11", forRemoval=true) public abstract class Pack200 extends Object Deprecated, for removal: This API element is subject to removal in a future version.This class is deprecated, and is planned for removal in a future release.Transforms a JAR file to or from a packed stream in Pack200 format. Please refer to Network Transfer Format JSR 200 SpecificationTypically the packer engine is used by application developers to deploy or host JAR files on a website. The unpacker engine is used by deployment applications to transform the byte-stream back to JAR format. Here is an example using packer and unpacker: 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(); }A Pack200 file compressed with gzip can be hosted on HTTP/1.1 web servers. The deployment applications can use "Accept-Encoding=pack200-gzip". This indicates to the server that the client application desires a version of the file encoded with Pack200 and further compressed with gzip. Please refer to the Java Deployment Guide for techniques and details. Unless otherwise noted, passing a nullargument to a constructor or method in this class will cause aNullPointerExceptionto be thrown.- Since:
- 1.5
 
- 
- 
Nested Class SummaryNested Classes Modifier and Type Class Description static interfacePack200.PackerDeprecated, for removal: This API element is subject to removal in a future version.This interface is deprecated, and is planned for removal in a future release.static interfacePack200.UnpackerDeprecated, for removal: This API element is subject to removal in a future version.This interface is deprecated, and is planned for removal in a future release.
 - 
Method SummaryAll Methods Static Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static Pack200.PackernewPacker()Deprecated, for removal: This API element is subject to removal in a future version.Obtain new instance of a class that implements Packer.static Pack200.UnpackernewUnpacker()Deprecated, for removal: This API element is subject to removal in a future version.Obtain new instance of a class that implements Unpacker.
 
- 
- 
- 
Method Detail- 
newPackerpublic static Pack200.Packer newPacker() Deprecated, for removal: This API element is subject to removal in a future version.Obtain new instance of a class that implements Packer.- If the system property - java.util.jar.Pack200.Packeris defined, then the value is taken to be the fully-qualified name of a concrete implementation class, which must implement Packer. This class is loaded and instantiated. If this process fails then an unspecified error is thrown.
- If an implementation has not been specified with the system property, then the system-default implementation class is instantiated, and the result is returned. 
 Note: The returned object is not guaranteed to operate correctly if multiple threads use it at the same time. A multi-threaded application should either allocate multiple packer engines, or else serialize use of one engine with a lock. - Returns:
- A newly allocated Packer engine.
 
 - 
newUnpackerpublic static Pack200.Unpacker newUnpacker() Deprecated, for removal: This API element is subject to removal in a future version.Obtain new instance of a class that implements Unpacker.- If the system property - java.util.jar.Pack200.Unpackeris defined, then the value is taken to be the fully-qualified name of a concrete implementation class, which must implement Unpacker. The class is loaded and instantiated. If this process fails then an unspecified error is thrown.
- If an implementation has not been specified with the system property, then the system-default implementation class is instantiated, and the result is returned. 
 Note: The returned object is not guaranteed to operate correctly if multiple threads use it at the same time. A multi-threaded application should either allocate multiple unpacker engines, or else serialize use of one engine with a lock. - Returns:
- A newly allocated Unpacker engine.
 
 
- 
 
-