Package org.apache.poi.hdgf
Class HDGFLZW
- java.lang.Object
-
- org.apache.poi.util.LZWDecompresser
-
- org.apache.poi.hdgf.HDGFLZW
-
public class HDGFLZW extends LZWDecompresser
A decoder for the crazy LZW implementation used in Visio. According to VSDump, "it's a slightly perverted version of LZW compression, with inverted meaning of flag byte and 0xFEE as an 'initial shift'". It uses 12 bit codes (http://www.gnome.ru/projects/vsdump_en.html) Two good resources on LZW are: http://en.wikipedia.org/wiki/LZW http://marknelson.us/1989/10/01/lzw-data-compression/
-
-
Constructor Summary
Constructors Constructor Description HDGFLZW()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description byte[]
compress(java.io.InputStream src)
Compress the given input stream, returning the array of bytes of the compressed inputvoid
compress(java.io.InputStream src, java.io.OutputStream res)
Performs the Visio compatible streaming LZW compression.-
Methods inherited from class org.apache.poi.util.LZWDecompresser
decompress, decompress, fromByte, fromInt
-
-
-
-
Method Detail
-
compress
public byte[] compress(java.io.InputStream src) throws java.io.IOException
Compress the given input stream, returning the array of bytes of the compressed input- Parameters:
src
- the compression source byte- Returns:
- the compressed stream as bytes
- Throws:
java.io.IOException
- when the InputStream can't be read
-
compress
public void compress(java.io.InputStream src, java.io.OutputStream res) throws java.io.IOException
Performs the Visio compatible streaming LZW compression.- Parameters:
src
- the input bytes for the compressionres
- the OutputStream which receives the compressed bytes- Throws:
java.io.IOException
- when the InputStream can't be read or the OutputStream can't be written to
-
-