Package 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
  Description
  `static final EnumSet<FileVisitOption>`
  `EMPTY_FileVisitOption`
  No `FileVisitOption`.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Archiver()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `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, 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`.
  `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(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`.

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

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

- ## Field Details

  - ### EMPTY_FileVisitOption

    public static final EnumSet<FileVisitOption> EMPTY_FileVisitOption
    No `FileVisitOption`.

- ## Constructor Details

  - ### Archiver

    public Archiver()

- ## Method Details

  - ### 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`.