org.apache.commons.compress.archivers.examples

## Class Archiver

- java.lang.Object
- - org.apache.commons.compress.archivers.examples.Archiver

-     public class Archiver
      extends Object

  Provides a high level API for creating archives.
  Since:
    1.17, 1.21 Supports `Path`.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static EnumSet<FileVisitOption>` | `EMPTY_FileVisitOption` No `FileVisitOption`.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Archiver()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `create(ArchiveOutputStream target, File directory)` Creates an archive `target` by recursively including all files and directories in `directory`.
    `void` | `create(ArchiveOutputStream target, Path directory)` Creates an archive `target` by recursively including all files and directories in `directory`.
    `void` | `create(ArchiveOutputStream target, Path directory, EnumSet<FileVisitOption> fileVisitOptions, LinkOption... linkOptions)` Creates an archive `target` by recursively including all files and directories in `directory`.
    `void` | `create(SevenZOutputFile target, File directory)` Creates an archive `target` by recursively including all files and directories in `directory`.
    `void` | `create(SevenZOutputFile target, Path directory)` Creates an archive `target` by recursively including all files and directories in `directory`.
    `void` | `create(String format, File target, File directory)` Creates an archive `target` using the format `format` by recursively including all files and directories in `directory`.
    `void` | `create(String format, OutputStream target, File directory)` Deprecated. this method leaks resources
    `void` | `create(String format, OutputStream target, File directory, CloseableConsumer closeableConsumer)` Creates an archive `target` using the format `format` by recursively including all files and directories in `directory`.
    `void` | `create(String format, Path target, Path directory)` Creates an archive `target` using the format `format` by recursively including all files and directories in `directory`.
    `void` | `create(String format, SeekableByteChannel target, File directory)` Deprecated. this method leaks resources
    `void` | `create(String format, SeekableByteChannel target, File directory, CloseableConsumer closeableConsumer)` Creates an archive `target` using the format `format` by recursively including all files and directories in `directory`.
    `void` | `create(String format, SeekableByteChannel target, Path directory)` Creates an archive `target` using the format `format` by recursively including all files and directories in `directory`.

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

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

- - ### Field Detail

    - #### EMPTY_FileVisitOption

          public static final EnumSet<FileVisitOption> EMPTY_FileVisitOption

      No `FileVisitOption`.

  - ### Constructor Detail

    - #### Archiver

          public Archiver()

  - ### Method Detail

    - #### create

          public void create(ArchiveOutputStream target,
                             File directory)
                      throws IOException

      Creates an archive `target` by recursively including all files and directories in `directory`.
      Parameters:
        `target` - the stream to write the new archive to.
        `directory` - the directory that contains the files to archive.
      Throws:
        `IOException` - if an I/O error occurs

    - #### create

          public void create(ArchiveOutputStream target,
                             Path directory)
                      throws IOException

      Creates an archive `target` by recursively including all files and directories in `directory`.
      Parameters:
        `target` - the stream to write the new archive to.
        `directory` - the directory that contains the files to archive.
      Throws:
        `IOException` - if an I/O error occurs or the archive cannot be created for other reasons.
      Since:
        1.21

    - #### create

          public void create(ArchiveOutputStream target,
                             Path directory,
                             EnumSet<FileVisitOption> fileVisitOptions,
                             LinkOption... linkOptions)
                      throws IOException

      Creates an archive `target` by recursively including all files and directories in `directory`.
      Parameters:
        `target` - the stream to write the new archive to.
        `directory` - the directory that contains the files to archive.
        `fileVisitOptions` - linkOptions to configure the traversal of the source `directory`.
        `linkOptions` - indicating how symbolic links are handled.
      Throws:
        `IOException` - if an I/O error occurs or the archive cannot be created for other reasons.
      Since:
        1.21

    - #### create

          public void create(SevenZOutputFile target,
                             File directory)
                      throws IOException

      Creates an archive `target` by recursively including all files and directories in `directory`.
      Parameters:
        `target` - the file to write the new archive to.
        `directory` - the directory that contains the files to archive.
      Throws:
        `IOException` - if an I/O error occurs

    - #### create

          public void create(SevenZOutputFile target,
                             Path directory)
                      throws IOException

      Creates an archive `target` by recursively including all files and directories in `directory`.
      Parameters:
        `target` - the file to write the new archive to.
        `directory` - the directory that contains the files to archive.
      Throws:
        `IOException` - if an I/O error occurs
      Since:
        1.21

    - #### create

          public void create(String format,
                             File target,
                             File directory)
                      throws IOException,
                             ArchiveException

      Creates an archive `target` using the format `format` by recursively including all files and directories in `directory`.
      Parameters:
        `format` - the archive format. This uses the same format as accepted by `ArchiveStreamFactory`.
        `target` - the file to write the new archive to.
        `directory` - the directory that contains the files to archive.
      Throws:
        `IOException` - if an I/O error occurs
        `ArchiveException` - if the archive cannot be created for other reasons

    - #### create

          @Deprecated
          public void create(String format,
                                         OutputStream target,
                                         File directory)
                                  throws IOException,
                                         ArchiveException

      Deprecated. this method leaks resources
      Creates an archive `target` using the format `format` by recursively including all files and directories in `directory`.

      This method creates a wrapper around the target stream which is never closed and thus leaks resources, please use `create(String,OutputStream,File,CloseableConsumer)` instead.

      Parameters:
        `format` - the archive format. This uses the same format as accepted by `ArchiveStreamFactory`.
        `target` - the stream to write the new archive to.
        `directory` - the directory that contains the files to archive.
      Throws:
        `IOException` - if an I/O error occurs
        `ArchiveException` - if the archive cannot be created for other reasons

    - #### create

          public void create(String format,
                             OutputStream target,
                             File directory,
                             CloseableConsumer closeableConsumer)
                      throws IOException,
                             ArchiveException

      Creates an archive `target` using the format `format` by recursively including all files and directories in `directory`.

      This method creates a wrapper around the archive stream and the caller of this method is responsible for closing it - probably at the same time as closing the stream itself. The caller is informed about the wrapper object via the `closeableConsumer` callback as soon as it is no longer needed by this class.

      Parameters:
        `format` - the archive format. This uses the same format as accepted by `ArchiveStreamFactory`.
        `target` - the stream to write the new archive to.
        `directory` - the directory that contains the files to archive.
        `closeableConsumer` - is informed about the stream wrapped around the passed in stream
      Throws:
        `IOException` - if an I/O error occurs
        `ArchiveException` - if the archive cannot be created for other reasons
      Since:
        1.19

    - #### create

          public void create(String format,
                             Path target,
                             Path directory)
                      throws IOException,
                             ArchiveException

      Creates an archive `target` using the format `format` by recursively including all files and directories in `directory`.
      Parameters:
        `format` - the archive format. This uses the same format as accepted by `ArchiveStreamFactory`.
        `target` - the file to write the new archive to.
        `directory` - the directory that contains the files to archive.
      Throws:
        `IOException` - if an I/O error occurs
        `ArchiveException` - if the archive cannot be created for other reasons
      Since:
        1.21

    - #### create

          @Deprecated
          public void create(String format,
                                         SeekableByteChannel target,
                                         File directory)
                                  throws IOException,
                                         ArchiveException

      Deprecated. this method leaks resources
      Creates an archive `target` using the format `format` by recursively including all files and directories in `directory`.

      This method creates a wrapper around the target channel which is never closed and thus leaks resources, please use `create(String,SeekableByteChannel,File,CloseableConsumer)` instead.

      Parameters:
        `format` - the archive format. This uses the same format as accepted by `ArchiveStreamFactory`.
        `target` - the channel to write the new archive to.
        `directory` - the directory that contains the files to archive.
      Throws:
        `IOException` - if an I/O error occurs
        `ArchiveException` - if the archive cannot be created for other reasons

    - #### create

          public void create(String format,
                             SeekableByteChannel target,
                             File directory,
                             CloseableConsumer closeableConsumer)
                      throws IOException,
                             ArchiveException

      Creates an archive `target` using the format `format` by recursively including all files and directories in `directory`.

      This method creates a wrapper around the archive channel and the caller of this method is responsible for closing it - probably at the same time as closing the channel itself. The caller is informed about the wrapper object via the `closeableConsumer` callback as soon as it is no longer needed by this class.

      Parameters:
        `format` - the archive format. This uses the same format as accepted by `ArchiveStreamFactory`.
        `target` - the channel to write the new archive to.
        `directory` - the directory that contains the files to archive.
        `closeableConsumer` - is informed about the stream wrapped around the passed in stream
      Throws:
        `IOException` - if an I/O error occurs
        `ArchiveException` - if the archive cannot be created for other reasons
      Since:
        1.19

    - #### create

          public void create(String format,
                             SeekableByteChannel target,
                             Path directory)
                      throws IOException

      Creates an archive `target` using the format `format` by recursively including all files and directories in `directory`.
      Parameters:
        `format` - the archive format. This uses the same format as accepted by `ArchiveStreamFactory`.
        `target` - the channel to write the new archive to.
        `directory` - the directory that contains the files to archive.
      Throws:
        `IOException` - if an I/O error occurs
        `IllegalStateException` - if the format does not support `SeekableByteChannel`.

Copyright © 2002–2022 The Apache Software Foundation. All rights reserved.