Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.commons.compress.compressors
Class CompressorStreamFactory

    java.lang.Object
      org.apache.commons.compress.compressors.CompressorStreamFactory

    public class CompressorStreamFactory

extends Object

Factory to create Compressor[In|Out]putStreams from names. To add other implementations you should extend CompressorStreamFactory and override the appropriate methods (and call their implementation from super of course).

Example (Compressing a file):

     final OutputStream out = new FileOutputStream(output);
     CompressorOutputStream cos =
          new CompressorStreamFactory().createCompressorOutputStream(CompressorStreamFactory.BZIP2, out);
     IOUtils.copy(new FileInputStream(input), cos);
     cos.close();

Example (Compressing a file):

     final InputStream is = new FileInputStream(input);
     CompressorInputStream in =
          new CompressorStreamFactory().createCompressorInputStream(CompressorStreamFactory.BZIP2, is);
     IOUtils.copy(in, new FileOutputStream(output));
     in.close();

This class is immutable

Field Summary
`static String` | `BZIP2` Constant used to identify the BZIP2 compression algorithm.
`static String` | `GZIP` Constant used to identify the GZIP compression algorithm.
`static String` | `PACK200` Constant used to identify the PACK200 compression algorithm.

Constructor Summary
`CompressorStreamFactory()`

Method Summary
`CompressorInputStream` | `createCompressorInputStream(InputStream in)` Create an compressor input stream from an input stream, autodetecting the compressor type from the first few bytes of the stream.
`CompressorInputStream` | `createCompressorInputStream(String name, InputStream in)` Create a compressor input stream from a compressor name and an input stream.
`CompressorOutputStream` | `createCompressorOutputStream(String name, OutputStream out)` Create an compressor output stream from an compressor name and an input stream.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### BZIP2

    public static final String BZIP2

  Constant used to identify the BZIP2 compression algorithm.

  Since:
    Commons Compress 1.1
  See Also:
    Constant Field Values

### GZIP

    public static final String GZIP

  Constant used to identify the GZIP compression algorithm.

  Since:
    Commons Compress 1.1
  See Also:
    Constant Field Values

### PACK200

    public static final String PACK200

  Constant used to identify the PACK200 compression algorithm.

  Since:
    Commons Compress 1.3
  See Also:
    Constant Field Values

Constructor Detail

### CompressorStreamFactory

    public CompressorStreamFactory()

Method Detail

### createCompressorInputStream

    public CompressorInputStream createCompressorInputStream(InputStream in)
                                                      throws CompressorException

  Create an compressor input stream from an input stream, autodetecting the compressor type from the first few bytes of the stream. The InputStream must support marks, like BufferedInputStream.

  Parameters:
    `in` - the input stream
  Returns:
    the compressor input stream
  Throws:
    `CompressorException` - if the compressor name is not known
    `IllegalArgumentException` - if the stream is null or does not support mark
  Since:
    Commons Compress 1.1

### createCompressorInputStream

    public CompressorInputStream createCompressorInputStream(String name,
                                                             InputStream in)
                                                      throws CompressorException

  Create a compressor input stream from a compressor name and an input stream.

  Parameters:
    `name` - of the compressor, i.e. "gz", "bzip2" or "pack200"
    `in` - the input stream
  Returns:
    compressor input stream
  Throws:
    `CompressorException` - if the compressor name is not known
    `IllegalArgumentException` - if the name or input stream is null

### createCompressorOutputStream

    public CompressorOutputStream createCompressorOutputStream(String name,
                                                               OutputStream out)
                                                        throws CompressorException

  Create an compressor output stream from an compressor name and an input stream.

  Parameters:
    `name` - the compressor name, i.e. "gz", "bzip2" or "pack200"
    `out` - the output stream
  Returns:
    the compressor output stream
  Throws:
    `CompressorException` - if the archiver name is not known
    `IllegalArgumentException` - if the archiver name or stream is null

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2011 The Apache Software Foundation. All Rights Reserved.