# JarArchiveOutputStream (Apache Commons Compress 1.13 API)

org.apache.commons.compress.archivers.jar

## Class JarArchiveOutputStream

- java.lang.Object
- - java.io.OutputStream
  - - org.apache.commons.compress.archivers.ArchiveOutputStream
    - - org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream
      - - org.apache.commons.compress.archivers.jar.JarArchiveOutputStream

- All Implemented Interfaces:
    Closeable, Flushable, AutoCloseable

      public class JarArchiveOutputStream
      extends ZipArchiveOutputStream

  Subclass that adds a special extra field to the very first entry which allows the created archive to be used as an executable jar on Solaris.
  This class is not thread-safe

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream

      `ZipArchiveOutputStream.UnicodeExtraFieldPolicy`

  - ### Field Summary

    - ### Fields inherited from class org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream

      `def, DEFAULT_COMPRESSION, DEFLATED, EFS_FLAG, finished, STORED`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `JarArchiveOutputStream(OutputStream out)`
    `JarArchiveOutputStream(OutputStream out, String encoding)` Create and instance that wraps the output stream using the provided encoding.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `putArchiveEntry(ArchiveEntry ze)` Writes the headers for an archive entry to the output stream.

    - ### Methods inherited from class org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream

      `addRawArchiveEntry, canWriteEntryData, close, closeArchiveEntry, createArchiveEntry, deflate, finish, flush, getEncoding, isSeekable, setComment, setCreateUnicodeExtraFields, setEncoding, setFallbackToUTF8, setLevel, setMethod, setUseLanguageEncodingFlag, setUseZip64, write, writeCentralDirectoryEnd, writeCentralFileHeader, writeDataDescriptor, writeLocalFileHeader, writeOut, writeOut, writeZip64CentralDirectory`

    - ### Methods inherited from class org.apache.commons.compress.archivers.ArchiveOutputStream

      `count, count, getBytesWritten, getCount, write`

    - ### Methods inherited from class java.io.OutputStream

      `write`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### JarArchiveOutputStream

          public JarArchiveOutputStream(OutputStream out)

    - #### JarArchiveOutputStream

          public JarArchiveOutputStream(OutputStream out,
                                String encoding)

      Create and instance that wraps the output stream using the provided encoding.
      Parameters:
        `out` - the output stream to wrap
        `encoding` - the encoding to use. Use null for the platform default.
      Since:
        1.10

  - ### Method Detail

    - #### putArchiveEntry

          public void putArchiveEntry(ArchiveEntry ze)
                               throws IOException

      Description copied from class: `ZipArchiveOutputStream`
      Writes the headers for an archive entry to the output stream. The caller must then write the content to the stream and call `ArchiveOutputStream.closeArchiveEntry()` to complete the process.
      Overrides:
        `putArchiveEntry` in class `ZipArchiveOutputStream`
      Parameters:
        `ze` - describes the entry
      Throws:
        `IOException` - if an I/O error occurs

Copyright © 2016 The Apache Software Foundation. All rights reserved.