java.lang.Objectjava.util.jar.Pack200
public abstract class Pack200
Transforms a JAR file to or from a packed stream in Pack200 format. Please refer to Network Trasfer Format JSR 200 Specification at http://jcp.org/aboutJava/communityprocess/review/jsr200/index.html
Typically 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 // Initialize the state by setting the desired 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 { // Call the packer packer.pack(jarFile, fos); jarFile.close(); fos.close(); // Call the unpacker unpacker.unpack(f, jostream); // Must explicitly close the output. jostream.close(); 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 Java Deployment Guide
Unless otherwise noted, passing a null argument to a constructor or
method in this class will cause a
If the system property java.util.jar.Pack200.Packer
is 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.
If the system property java.util.jar.Pack200.Unpacker
is 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.
NullPointerException to be thrown.
Nested Class Summary
static interfacePack200.Packer
The packer engine applies various transformations to the input JAR file,
making the pack stream highly compressible by a compressor such as
gzip or zip.
static interfacePack200.Unpacker
The unpacker engine converts the packed stream to a JAR file.
Method Summary
static Pack200.PackernewPacker()
Obtain new instance of a class that implements Packer.
static Pack200.UnpackernewUnpacker()
Obtain new instance of a class that implements Unpacker.
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Method Detail
newPacker
public static Pack200.Packer newPacker()
newUnpacker
public static Pack200.Unpacker newUnpacker()
Ces informations proviennent du site de http://java.sun.com
Le contenu de cette page provient du site de Sun, et est généré depuis un cache sur l'infobrol après certains traitements automatisés. La présentation peut donc différer du document original, mais le contenu aussi. Vous pouvez utiliser ce bouton pour afficher la page originale du site de Sun :
Maintenir les pages en cache sur différents sites peut offrir plus de disponibilité.
Chaque page est indexée dans la base de donnée, ce qui permet de retrouver facilement les informations, au moyen des sommaires, du moteur de recherche interne, etc.
Des facilités sont mises en place pour que les membres de l'infobrol puissent effectuer des traductions en français des différents documents. Ceci devrait permettre aux débutants en programmation Java de consulter les API en français s'ils maîtrisent moins bien la langue de Shakespeare. Dans le cas où une traduction a été soumise, elle est disponible au moyen d'un lien en bas de page. Si la traduction a été validée, la page s'affiche par défaut en français, et un lien en bas de page permet d'atteindre la version en anglais.
Le code sur l'infobrol est automatiquement coloré selon la syntaxe, et les différents mots clés sont transformés en liens pour accéder rapidement aux informations.
Vous avez la possibilité de partager vos expériences en proposant vos propres extraits de code en utilisant le bouton "ajouter un commentaire" en bas de page. Si vous visitez simplement l'infobrol, vous avez déjà accès à cette fonction, mais si vous étes membre du brol, vous pouvez en plus utiliser des boutons supplémentaires de mise en forme, dont la coloration automatique de vos extraits de codes.
Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher les interactions avec les réseaux sociaux sur ces pages.
7 mots clés dont 0 définis manuellement (plus d'information...).
Avertissement
Cette page ne possède pas encore de mots clés manuels, ceci est donc un exemple automatique (les niveaux de pertinence sont fictifs, mais les liens sont valables). Pour tester le nuage avec une page qui contient des mots définis manuellement, vous pouvez cliquer ici.Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher le nuage de mots clés.
Recherche (afficher)
Utilisateur (masquer)
Navigation (masquer)
Apparence (afficher)
Stats (afficher)
Citation (masquer)