Class BZip2OutputStream
- java.lang.Object
-
- java.io.OutputStream
-
- org.apache.commons.compress.compressors.bzip2.BZip2OutputStream
-
- All Implemented Interfaces:
java.io.Closeable,java.io.Flushable,java.lang.AutoCloseable,BZip2Constants
public class BZip2OutputStream extends java.io.OutputStream implements BZip2Constants
An output stream that compresses into the BZip2 format (without the file header chars) into another stream. TODO: Update to BZip2 1.0.1- Author:
- Keiron Liddle
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classBZip2OutputStream.StackElem
-
Field Summary
Fields Modifier and Type Field Description private static intCLEARMASKprivate static intDEPTH_THRESHprivate static intGREATER_ICOSTprivate static intLESSER_ICOSTprivate static intLOWER_BYTE_MASKprivate intm_allowableBlockSizeprivate char[]m_blockprivate intm_blockCRCprivate booleanm_blockRandomisedprivate intm_blockSize100kprivate intm_bsBuffprivate intm_bsLiveprivate java.io.OutputStreamm_bsStreamprivate booleanm_closedprivate intm_combinedCRCprivate CRCm_crcprivate intm_currentCharprivate booleanm_firstAttemptprivate int[]m_ftabprivate int[]m_incsprivate boolean[]m_inUseprivate intm_lastprivate int[]m_mtfFreqprivate intm_nInUseprivate intm_nMTFprivate intm_origPtrprivate int[]m_quadrantprivate intm_runLengthprivate char[]m_selectorprivate char[]m_selectorMtfprivate char[]m_seqToUnseqprivate short[]m_szptrprivate char[]m_unseqToSeqprivate intm_workDoneprivate intm_workFactorprivate intm_workLimitprivate int[]m_zptrprivate static intQSORT_STACK_SIZEprivate static intSETMASKprivate static intSMALL_THRESHprivate static intUPPER_BYTE_MASK-
Fields inherited from interface org.apache.commons.compress.compressors.bzip2.BZip2Constants
BASE_BLOCK_SIZE, G_SIZE, MAX_ALPHA_SIZE, MAX_CODE_LEN, MAX_SELECTORS, N_GROUPS, N_ITERS, NUM_OVERSHOOT_BYTES, RAND_NUMS, RUNA, RUNB
-
-
Constructor Summary
Constructors Constructor Description BZip2OutputStream(java.io.OutputStream output)BZip2OutputStream(java.io.OutputStream output, int blockSize)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidallocateCompressStructures()private voidbsFinishedWithStream()private voidbsPutint(int u)private voidbsPutIntVS(int numBits, int c)private voidbsPutUChar(int c)private voidbsSetStream(java.io.OutputStream f)private voidbsW(int n, int v)private static intcalculateWeight(int v1, int v2)voidclose()private voiddoReversibleTransformation()private voidendBlock()private voidendCompression()protected voidfinalize()voidflush()private booleanfullGtU(int i1, int i2)private voidgenerateMTFValues()private voidhbAssignCodes(int[] code, char[] length, int minLen, int maxLen, int alphaSize)private static voidhbMakeCodeLengths(char[] len, int[] freq, int alphaSize, int maxLen)private voidinitBlock()private voidinitialize()private voidmainSort()private voidmakeMaps()private charmed3(char a, char b, char c)private voidmoveToFrontCodeAndSend()private static voidpanic()private voidqSort3(int loSt, int hiSt, int dSt)private voidrandomiseBlock()private voidsendMTFValues()private voidsimpleSort(int lo, int hi, int d)private voidvswap(int p1, int p2, int n)voidwrite(int bv)modified by Oliver Merkel, 010128private voidwriteRun()
-
-
-
Field Detail
-
LOWER_BYTE_MASK
private static final int LOWER_BYTE_MASK
- See Also:
- Constant Field Values
-
UPPER_BYTE_MASK
private static final int UPPER_BYTE_MASK
- See Also:
- Constant Field Values
-
SETMASK
private static final int SETMASK
- See Also:
- Constant Field Values
-
CLEARMASK
private static final int CLEARMASK
- See Also:
- Constant Field Values
-
GREATER_ICOST
private static final int GREATER_ICOST
- See Also:
- Constant Field Values
-
LESSER_ICOST
private static final int LESSER_ICOST
- See Also:
- Constant Field Values
-
SMALL_THRESH
private static final int SMALL_THRESH
- See Also:
- Constant Field Values
-
DEPTH_THRESH
private static final int DEPTH_THRESH
- See Also:
- Constant Field Values
-
QSORT_STACK_SIZE
private static final int QSORT_STACK_SIZE
- See Also:
- Constant Field Values
-
m_crc
private CRC m_crc
-
m_inUse
private boolean[] m_inUse
-
m_seqToUnseq
private char[] m_seqToUnseq
-
m_unseqToSeq
private char[] m_unseqToSeq
-
m_selector
private char[] m_selector
-
m_selectorMtf
private char[] m_selectorMtf
-
m_mtfFreq
private int[] m_mtfFreq
-
m_currentChar
private int m_currentChar
-
m_runLength
private int m_runLength
-
m_closed
private boolean m_closed
-
m_incs
private int[] m_incs
-
m_blockRandomised
private boolean m_blockRandomised
-
m_blockSize100k
private int m_blockSize100k
-
m_bsBuff
private int m_bsBuff
-
m_bsLive
private int m_bsLive
-
m_last
private int m_last
-
m_origPtr
private int m_origPtr
-
m_allowableBlockSize
private int m_allowableBlockSize
-
m_block
private char[] m_block
-
m_blockCRC
private int m_blockCRC
-
m_combinedCRC
private int m_combinedCRC
-
m_bsStream
private java.io.OutputStream m_bsStream
-
m_firstAttempt
private boolean m_firstAttempt
-
m_ftab
private int[] m_ftab
-
m_nInUse
private int m_nInUse
-
m_nMTF
private int m_nMTF
-
m_quadrant
private int[] m_quadrant
-
m_szptr
private short[] m_szptr
-
m_workDone
private int m_workDone
-
m_workFactor
private int m_workFactor
-
m_workLimit
private int m_workLimit
-
m_zptr
private int[] m_zptr
-
-
Method Detail
-
hbMakeCodeLengths
private static void hbMakeCodeLengths(char[] len, int[] freq, int alphaSize, int maxLen)
-
calculateWeight
private static int calculateWeight(int v1, int v2)
-
panic
private static void panic()
-
close
public void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Overrides:
closein classjava.io.OutputStream- Throws:
java.io.IOException
-
finalize
protected void finalize() throws java.lang.Throwable- Overrides:
finalizein classjava.lang.Object- Throws:
java.lang.Throwable
-
flush
public void flush() throws java.io.IOException- Specified by:
flushin interfacejava.io.Flushable- Overrides:
flushin classjava.io.OutputStream- Throws:
java.io.IOException
-
write
public void write(int bv) throws java.io.IOExceptionmodified by Oliver Merkel, 010128- Specified by:
writein classjava.io.OutputStream- Parameters:
bv- Description of Parameter- Throws:
java.io.IOException- Description of Exception
-
allocateCompressStructures
private void allocateCompressStructures()
-
bsFinishedWithStream
private void bsFinishedWithStream() throws java.io.IOException- Throws:
java.io.IOException
-
bsPutIntVS
private void bsPutIntVS(int numBits, int c) 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
-
bsSetStream
private void bsSetStream(java.io.OutputStream f)
-
bsW
private void bsW(int n, int v) throws java.io.IOException- Throws:
java.io.IOException
-
doReversibleTransformation
private void doReversibleTransformation()
-
endBlock
private void endBlock() throws java.io.IOException- Throws:
java.io.IOException
-
endCompression
private void endCompression() throws java.io.IOException- Throws:
java.io.IOException
-
fullGtU
private boolean fullGtU(int i1, int i2)
-
generateMTFValues
private void generateMTFValues()
-
hbAssignCodes
private void hbAssignCodes(int[] code, char[] length, int minLen, int maxLen, int alphaSize)
-
initBlock
private void initBlock()
-
initialize
private void initialize() throws java.io.IOException- Throws:
java.io.IOException
-
mainSort
private void mainSort()
-
makeMaps
private void makeMaps()
-
med3
private char med3(char a, char b, char c)
-
moveToFrontCodeAndSend
private void moveToFrontCodeAndSend() throws java.io.IOException- Throws:
java.io.IOException
-
qSort3
private void qSort3(int loSt, int hiSt, int dSt)
-
randomiseBlock
private void randomiseBlock()
-
sendMTFValues
private void sendMTFValues() 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)
-
writeRun
private void writeRun() throws java.io.IOException- Throws:
java.io.IOException
-
-