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 inputvoidcompress(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.IOExceptionCompress 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.IOExceptionPerforms 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
 
 - 
 
 -