ArchiveStreamProvider
Date: 2017-02-08

org.apache.commons.compress.archivers

## Interface ArchiveStreamProvider

- All Known Implementing Classes:
    ArchiveStreamFactory

      public interface ArchiveStreamProvider

  Creates Archive `ArchiveInputStream`s and `ArchiveOutputStream`s.
  Since:
    1.13

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `ArchiveInputStream` | `createArchiveInputStream(java.lang.String name, java.io.InputStream in, java.lang.String encoding)` Creates an archive input stream from an archiver name and an input stream.
    `ArchiveOutputStream` | `createArchiveOutputStream(java.lang.String name, java.io.OutputStream out, java.lang.String encoding)` Creates an archive output stream from an archiver name and an output stream.
    `java.util.Set<java.lang.String>` | `getInputStreamArchiveNames()` Gets all the input stream archive names for this provider
    `java.util.Set<java.lang.String>` | `getOutputStreamArchiveNames()` Gets all the output stream archive names for this provider

- - ### Method Detail

    - #### createArchiveInputStream

          ArchiveInputStream createArchiveInputStream(java.lang.String name,
                                                    java.io.InputStream in,
                                                    java.lang.String encoding)
                                                      throws ArchiveException

      Creates an archive input stream from an archiver name and an input stream.
      Parameters:
        `name` - the archive name, i.e. "ar", "arj", "zip", "tar", "jar", "cpio", "dump" or "7z"
        `in` - the input stream
        `encoding` - encoding name or null for the default
      Returns:
        the archive input stream
      Throws:
        `ArchiveException` - if the archiver name is not known
        `StreamingNotSupportedException` - if the format cannot be read from a stream
        `java.lang.IllegalArgumentException` - if the archiver name or stream is null

    - #### createArchiveOutputStream

          ArchiveOutputStream createArchiveOutputStream(java.lang.String name,
                                                      java.io.OutputStream out,
                                                      java.lang.String encoding)
                                                        throws ArchiveException

      Creates an archive output stream from an archiver name and an output stream.
      Parameters:
        `name` - the archive name, i.e. "ar", "zip", "tar", "jar" or "cpio"
        `out` - the output stream
        `encoding` - encoding name or null for the default
      Returns:
        the archive output stream
      Throws:
        `ArchiveException` - if the archiver name is not known
        `StreamingNotSupportedException` - if the format cannot be written to a stream
        `java.lang.IllegalArgumentException` - if the archiver name or stream is null

    - #### getInputStreamArchiveNames

          java.util.Set<java.lang.String> getInputStreamArchiveNames()

      Gets all the input stream archive names for this provider
      Returns:
        all the input archive names for this provider

    - #### getOutputStreamArchiveNames

          java.util.Set<java.lang.String> getOutputStreamArchiveNames()

      Gets all the output stream archive names for this provider
      Returns:
        all the output archive names for this provider