Class MyLzwDecompressor


  • public final class MyLzwDecompressor
    extends java.lang.Object
    • Field Detail

      • table

        private final byte[][] table
      • codeSize

        private int codeSize
      • initialCodeSize

        private final int initialCodeSize
      • codes

        private int codes
      • byteOrder

        private final java.nio.ByteOrder byteOrder
      • clearCode

        private final int clearCode
      • eoiCode

        private final int eoiCode
      • written

        private int written
      • tiffLZWMode

        private boolean tiffLZWMode
    • Constructor Detail

      • MyLzwDecompressor

        public MyLzwDecompressor​(int initialCodeSize,
                                 java.nio.ByteOrder byteOrder)
      • MyLzwDecompressor

        public MyLzwDecompressor​(int initialCodeSize,
                                 java.nio.ByteOrder byteOrder,
                                 MyLzwDecompressor.Listener listener)
    • Method Detail

      • initializeTable

        private void initializeTable()
      • clearTable

        private void clearTable()
      • getNextCode

        private int getNextCode​(MyBitInputStream is)
                         throws java.io.IOException
        Throws:
        java.io.IOException
      • stringFromCode

        private byte[] stringFromCode​(int code)
                               throws java.io.IOException
        Throws:
        java.io.IOException
      • isInTable

        private boolean isInTable​(int code)
      • firstChar

        private byte firstChar​(byte[] bytes)
      • addStringToTable

        private void addStringToTable​(byte[] bytes)
                               throws java.io.IOException
        Throws:
        java.io.IOException
      • appendBytes

        private byte[] appendBytes​(byte[] bytes,
                                   byte b)
      • writeToResult

        private void writeToResult​(java.io.OutputStream os,
                                   byte[] bytes)
                            throws java.io.IOException
        Throws:
        java.io.IOException
      • setTiffLZWMode

        public void setTiffLZWMode()
      • decompress

        public byte[] decompress​(java.io.InputStream is,
                                 int expectedLength)
                          throws java.io.IOException
        Throws:
        java.io.IOException
      • checkCodeSize

        private void checkCodeSize()
      • incrementCodeSize

        private void incrementCodeSize()