org.apache.hadoop.io.compress
Class BlockCompressorStream
java.lang.Object
   java.io.OutputStream
java.io.OutputStream
       org.apache.hadoop.io.compress.CompressionOutputStream
org.apache.hadoop.io.compress.CompressionOutputStream
           org.apache.hadoop.io.compress.CompressorStream
org.apache.hadoop.io.compress.CompressorStream
               org.apache.hadoop.io.compress.BlockCompressorStream
org.apache.hadoop.io.compress.BlockCompressorStream
- All Implemented Interfaces: 
- Closeable, Flushable
- public class BlockCompressorStream 
- extends CompressorStream
A CompressorStream which works
 with 'block-based' based compression algorithms, as opposed to 
 'stream-based' compression algorithms.
 It should be noted that this wrapper does not guarantee that blocks will
 be sized for the compressor. If the
 Compressor requires buffering to
 effect meaningful compression, it is responsible for it.
 
 
 
 
| Method Summary | 
| protected  void | compress()
 | 
|  void | finish()Finishes writing compressed data to the output stream 
 without closing the underlying stream.
 | 
|  void | write(byte[] b,
      int off,
      int len)Write the data provided to the compression codec, compressing no more
 than the buffer size less the compression overhead as specified during
 construction for each block.
 | 
 
 
 
 
| Methods inherited from class java.lang.Object | 
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
 
BlockCompressorStream
public BlockCompressorStream(OutputStream out,
                             Compressor compressor,
                             int bufferSize,
                             int compressionOverhead)
- Create a BlockCompressorStream.
 
- Parameters:
- out- stream
- compressor- compressor to be used
- bufferSize- size of buffer
- compressionOverhead- maximum 'overhead' of the compression 
                            algorithm with given bufferSize
 
BlockCompressorStream
public BlockCompressorStream(OutputStream out,
                             Compressor compressor)
- Create a BlockCompressorStreamwith given output-stream and 
 compressor.
 Use default of 512 as bufferSize and compressionOverhead of 
 (1% of bufferSize + 12 bytes) =  18 bytes (zlib algorithm).
 
- Parameters:
- out- stream
- compressor- compressor to be used
 
write
public void write(byte[] b,
                  int off,
                  int len)
           throws IOException
- Write the data provided to the compression codec, compressing no more
 than the buffer size less the compression overhead as specified during
 construction for each block.
 Each block contains the uncompressed length for the block, followed by
 one or more length-prefixed blocks of compressed data.
 
- 
- Overrides:
- writein class- CompressorStream
 
- 
- Throws:
- IOException
 
finish
public void finish()
            throws IOException
- Description copied from class: CompressionOutputStream
- Finishes writing compressed data to the output stream 
 without closing the underlying stream.
 
- 
- Overrides:
- finishin class- CompressorStream
 
- 
- Throws:
- IOException
 
compress
protected void compress()
                 throws IOException
- 
- Overrides:
- compressin class- CompressorStream
 
- 
- Throws:
- IOException
 
Copyright © 2009 The Apache Software Foundation