Class Archive


  • public class Archive
    extends java.lang.Object
    Archive is the main entry point to unpack200. An archive is constructed with either two file names, a pack file and an output file name or an input stream and an output streams. Then unpack() is called, to unpack the pack200 archive.
    • Constructor Summary

      Constructors 
      Constructor Description
      Archive​(java.io.InputStream inputStream, java.util.jar.JarOutputStream outputStream)
      Creates an Archive with streams for the input and output files.
      Archive​(java.lang.String inputFileName, java.lang.String outputFileName)
      Creates an Archive with the given input and output file names.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private boolean available​(java.io.InputStream inputStream)  
      void setDeflateHint​(boolean deflateHint)  
      void setLogFile​(java.lang.String logFileName)  
      void setLogFile​(java.lang.String logFileName, boolean append)  
      void setQuiet​(boolean quiet)  
      void setRemovePackFile​(boolean removePackFile)
      If removePackFile is set to true, the input file is deleted after unpacking.
      void setVerbose​(boolean verbose)  
      void unpack()
      Unpacks the Archive from the input file to the output file
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • MAGIC

        private static final int[] MAGIC
      • outputStream

        private final java.util.jar.JarOutputStream outputStream
      • removePackFile

        private boolean removePackFile
      • logLevel

        private int logLevel
      • logFile

        private java.io.FileOutputStream logFile
      • overrideDeflateHint

        private boolean overrideDeflateHint
      • deflateHint

        private boolean deflateHint
      • inputPath

        private final java.nio.file.Path inputPath
      • inputSize

        private final long inputSize
      • outputFileName

        private final java.lang.String outputFileName
      • closeStreams

        private final boolean closeStreams
    • Constructor Detail

      • Archive

        public Archive​(java.io.InputStream inputStream,
                       java.util.jar.JarOutputStream outputStream)
                throws java.io.IOException
        Creates an Archive with streams for the input and output files. Note: If you use this method then calling setRemovePackFile(boolean) will have no effect.
        Parameters:
        inputStream - the input stream, preferably a BoundedInputStream. The bound can the the file size.
        outputStream - the JAR output stream.
        Throws:
        java.io.IOException - if an I/O error occurs
      • Archive

        public Archive​(java.lang.String inputFileName,
                       java.lang.String outputFileName)
                throws java.io.FileNotFoundException,
                       java.io.IOException
        Creates an Archive with the given input and output file names.
        Parameters:
        inputFileName - the input file name.
        outputFileName - the output file name
        Throws:
        java.io.FileNotFoundException - if the input file does not exist
        java.io.IOException - if an I/O error occurs
    • Method Detail

      • available

        private boolean available​(java.io.InputStream inputStream)
                           throws java.io.IOException
        Throws:
        java.io.IOException
      • setDeflateHint

        public void setDeflateHint​(boolean deflateHint)
      • setLogFile

        public void setLogFile​(java.lang.String logFileName)
                        throws java.io.FileNotFoundException
        Throws:
        java.io.FileNotFoundException
      • setLogFile

        public void setLogFile​(java.lang.String logFileName,
                               boolean append)
                        throws java.io.FileNotFoundException
        Throws:
        java.io.FileNotFoundException
      • setQuiet

        public void setQuiet​(boolean quiet)
      • setRemovePackFile

        public void setRemovePackFile​(boolean removePackFile)
        If removePackFile is set to true, the input file is deleted after unpacking.
        Parameters:
        removePackFile - If true, the input file is deleted after unpacking.
      • setVerbose

        public void setVerbose​(boolean verbose)
      • unpack

        public void unpack()
                    throws Pack200Exception,
                           java.io.IOException
        Unpacks the Archive from the input file to the output file
        Throws:
        Pack200Exception - TODO
        java.io.IOException - TODO