Package org.apache.poi.util
Class RLEDecompressingInputStream
- java.lang.Object
 - 
- java.io.InputStream
 - 
- org.apache.poi.util.RLEDecompressingInputStream
 
 
 
- 
- All Implemented Interfaces:
 java.io.Closeable,java.lang.AutoCloseable
public class RLEDecompressingInputStream extends java.io.InputStreamWrapper of InputStream which provides Run Length Encoding (RLE) decompression on the fly. Uses MS-OVBA decompression algorithm. See http://download.microsoft.com/download/2/4/8/24862317-78F0-4C4B-B355-C7B2C1D997DB/[MS-OVBA].pdf 
- 
- 
Constructor Summary
Constructors Constructor Description RLEDecompressingInputStream(java.io.InputStream in)Creates a new wrapper RLE Decompression InputStream. 
- 
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description intavailable()voidclose()static byte[]decompress(byte[] compressed)static byte[]decompress(byte[] compressed, int offset, int length)intread()intread(byte[] b)intread(byte[] b, int off, int l)intreadInt()Convenience method for read a 4-bytes int in little endian encoding.intreadShort()Convenience method for read a 2-bytes short in little endian encoding.longskip(long n) 
 - 
 
- 
- 
Method Detail
- 
read
public int read() throws java.io.IOException- Specified by:
 readin classjava.io.InputStream- Throws:
 java.io.IOException
 
- 
read
public int read(byte[] b) throws java.io.IOException- Overrides:
 readin classjava.io.InputStream- Throws:
 java.io.IOException
 
- 
read
public int read(byte[] b, int off, int l) throws java.io.IOException- Overrides:
 readin classjava.io.InputStream- Throws:
 java.io.IOException
 
- 
skip
public long skip(long n) throws java.io.IOException- Overrides:
 skipin classjava.io.InputStream- Throws:
 java.io.IOException
 
- 
available
public int available()
- Overrides:
 availablein classjava.io.InputStream
 
- 
close
public void close() throws java.io.IOException- Specified by:
 closein interfacejava.lang.AutoCloseable- Specified by:
 closein interfacejava.io.Closeable- Overrides:
 closein classjava.io.InputStream- Throws:
 java.io.IOException
 
- 
readShort
public int readShort() throws java.io.IOExceptionConvenience method for read a 2-bytes short in little endian encoding.- Returns:
 - short value from the stream, -1 if end of stream is reached
 - Throws:
 java.io.IOException
 
- 
readInt
public int readInt() throws java.io.IOExceptionConvenience method for read a 4-bytes int in little endian encoding.- Returns:
 - integer value from the stream, -1 if end of stream is reached
 - Throws:
 java.io.IOException
 
- 
decompress
public static byte[] decompress(byte[] compressed) throws java.io.IOException- Throws:
 java.io.IOException
 
- 
decompress
public static byte[] decompress(byte[] compressed, int offset, int length) throws java.io.IOException- Throws:
 java.io.IOException
 
 - 
 
 -