Class CBZip2OutputStream

  • All Implemented Interfaces:
    BZip2Constants, java.io.Closeable, java.io.Flushable, java.lang.AutoCloseable

    public class CBZip2OutputStream
    extends java.io.OutputStream
    implements BZip2Constants
    An output stream that compresses into the BZip2 format (without the file header chars) into another stream.
    Author:
    Keiron Liddle TODO: Update to BZip2 1.0.1
    • Field Detail

      • last

        int last
      • origPtr

        int origPtr
      • blockSize100k

        int blockSize100k
      • blockRandomised

        boolean blockRandomised
      • bytesOut

        int bytesOut
      • bsBuff

        int bsBuff
      • bsLive

        int bsLive
      • mCrc

        CRC mCrc
      • inUse

        private boolean[] inUse
      • nInUse

        private int nInUse
      • seqToUnseq

        private char[] seqToUnseq
      • unseqToSeq

        private char[] unseqToSeq
      • selector

        private char[] selector
      • selectorMtf

        private char[] selectorMtf
      • block

        private char[] block
      • quadrant

        private int[] quadrant
      • zptr

        private int[] zptr
      • szptr

        private short[] szptr
      • ftab

        private int[] ftab
      • nMTF

        private int nMTF
      • mtfFreq

        private int[] mtfFreq
      • workFactor

        private int workFactor
      • workDone

        private int workDone
      • workLimit

        private int workLimit
      • firstAttempt

        private boolean firstAttempt
      • nBlocksRandomised

        private int nBlocksRandomised
      • currentChar

        private int currentChar
      • runLength

        private int runLength
      • closed

        boolean closed
      • blockCRC

        private int blockCRC
      • combinedCRC

        private int combinedCRC
      • allowableBlockSize

        private int allowableBlockSize
      • bsStream

        private java.io.OutputStream bsStream
      • incs

        private int[] incs
    • Constructor Detail

      • CBZip2OutputStream

        public CBZip2OutputStream​(java.io.OutputStream inStream)
                           throws java.io.IOException
        Throws:
        java.io.IOException
      • CBZip2OutputStream

        public CBZip2OutputStream​(java.io.OutputStream inStream,
                                  int inBlockSize)
                           throws java.io.IOException
        Throws:
        java.io.IOException
    • Method Detail

      • panic

        private static void panic()
      • makeMaps

        private void makeMaps()
      • hbMakeCodeLengths

        protected static void hbMakeCodeLengths​(char[] len,
                                                int[] freq,
                                                int alphaSize,
                                                int maxLen)
      • write

        public void write​(int bv)
                   throws java.io.IOException
        modified by Oliver Merkel, 010128
        Specified by:
        write in class java.io.OutputStream
        Throws:
        java.io.IOException
      • writeRun

        private void writeRun()
                       throws java.io.IOException
        Throws:
        java.io.IOException
      • finalize

        protected void finalize()
                         throws java.lang.Throwable
        Overrides:
        finalize in class java.lang.Object
        Throws:
        java.lang.Throwable
      • close

        public void close()
                   throws java.io.IOException
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Overrides:
        close in class java.io.OutputStream
        Throws:
        java.io.IOException
      • flush

        public void flush()
                   throws java.io.IOException
        Specified by:
        flush in interface java.io.Flushable
        Overrides:
        flush in class java.io.OutputStream
        Throws:
        java.io.IOException
      • initialize

        private void initialize()
                         throws java.io.IOException
        Throws:
        java.io.IOException
      • initBlock

        private void initBlock()
      • endBlock

        private void endBlock()
                       throws java.io.IOException
        Throws:
        java.io.IOException
      • endCompression

        private void endCompression()
                             throws java.io.IOException
        Throws:
        java.io.IOException
      • hbAssignCodes

        private void hbAssignCodes​(int[] code,
                                   char[] length,
                                   int minLen,
                                   int maxLen,
                                   int alphaSize)
      • bsSetStream

        private void bsSetStream​(java.io.OutputStream f)
      • bsFinishedWithStream

        private void bsFinishedWithStream()
                                   throws java.io.IOException
        Throws:
        java.io.IOException
      • bsW

        private void bsW​(int n,
                         int v)
                  throws java.io.IOException
        Throws:
        java.io.IOException
      • bsPutUChar

        private void bsPutUChar​(int c)
                         throws java.io.IOException
        Throws:
        java.io.IOException
      • bsPutint

        private void bsPutint​(int u)
                       throws java.io.IOException
        Throws:
        java.io.IOException
      • bsPutIntVS

        private void bsPutIntVS​(int numBits,
                                int c)
                         throws java.io.IOException
        Throws:
        java.io.IOException
      • sendMTFValues

        private void sendMTFValues()
                            throws java.io.IOException
        Throws:
        java.io.IOException
      • moveToFrontCodeAndSend

        private void moveToFrontCodeAndSend()
                                     throws java.io.IOException
        Throws:
        java.io.IOException
      • simpleSort

        private void simpleSort​(int lo,
                                int hi,
                                int d)
      • vswap

        private void vswap​(int p1,
                           int p2,
                           int n)
      • med3

        private char med3​(char a,
                          char b,
                          char c)
      • qSort3

        private void qSort3​(int loSt,
                            int hiSt,
                            int dSt)
      • mainSort

        private void mainSort()
      • randomiseBlock

        private void randomiseBlock()
      • doReversibleTransformation

        private void doReversibleTransformation()
      • fullGtU

        private boolean fullGtU​(int i1,
                                int i2)
      • allocateCompressStructures

        private void allocateCompressStructures()
      • generateMTFValues

        private void generateMTFValues()