org.apache.poi.hdgf
Class HDGFLZW
java.lang.Object
org.apache.poi.util.LZWDecompresser
org.apache.poi.hdgf.HDGFLZW
public class HDGFLZW
- extends org.apache.poi.util.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/
Method Summary |
byte[] |
compress(java.io.InputStream src)
Compress the given input stream, returning the array of bytes
of the compressed input |
void |
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 |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
HDGFLZW
public HDGFLZW()
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
- Throws:
java.io.IOException
compress
public void compress(java.io.InputStream src,
java.io.OutputStream res)
throws java.io.IOException
- Performs the Visio compatible streaming LZW compression.
- Throws:
java.io.IOException