Class Archiver


  • public class Archiver
    extends java.lang.Object
    Provides a high level API for creating archives.
    Since:
    1.17
    • Constructor Summary

      Constructors 
      Constructor Description
      Archiver()  
    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      private void create​(java.io.File directory, Archiver.ArchiveEntryCreator creator, Archiver.ArchiveEntryConsumer consumer, Archiver.Finisher finisher)  
      void create​(java.lang.String format, java.io.File target, java.io.File directory)
      Creates an archive target using the format format by recursively including all files and directories in directory.
      private void create​(java.lang.String prefix, java.io.File directory, Archiver.ArchiveEntryCreator creator, Archiver.ArchiveEntryConsumer consumer)  
      void create​(java.lang.String format, java.io.OutputStream target, java.io.File directory)
      Deprecated.
      this method leaks resources
      void create​(java.lang.String format, java.io.OutputStream target, java.io.File directory, CloseableConsumer closeableConsumer)
      Creates an archive target using the format format by recursively including all files and directories in directory.
      void create​(java.lang.String format, java.nio.channels.SeekableByteChannel target, java.io.File directory)
      Deprecated.
      this method leaks resources
      void create​(java.lang.String format, java.nio.channels.SeekableByteChannel target, java.io.File directory, CloseableConsumer closeableConsumer)
      Creates an archive target using the format format by recursively including all files and directories in directory.
      void create​(ArchiveOutputStream target, java.io.File directory)
      Creates an archive target by recursively including all files and directories in directory.
      void create​(SevenZOutputFile target, java.io.File directory)
      Creates an archive target by recursively including all files and directories in directory.
      private boolean prefersSeekableByteChannel​(java.lang.String format)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Archiver

        public Archiver()
    • Method Detail

      • create

        public void create​(java.lang.String format,
                           java.io.File target,
                           java.io.File directory)
                    throws java.io.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:
        java.io.IOException - if an I/O error occurs
        ArchiveException - if the archive cannot be created for other reasons
      • create

        @Deprecated
        public void create​(java.lang.String format,
                           java.io.OutputStream target,
                           java.io.File directory)
                    throws java.io.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:
        java.io.IOException - if an I/O error occurs
        ArchiveException - if the archive cannot be created for other reasons
      • create

        public void create​(java.lang.String format,
                           java.io.OutputStream target,
                           java.io.File directory,
                           CloseableConsumer closeableConsumer)
                    throws java.io.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:
        java.io.IOException - if an I/O error occurs
        ArchiveException - if the archive cannot be created for other reasons
        Since:
        1.19
      • create

        @Deprecated
        public void create​(java.lang.String format,
                           java.nio.channels.SeekableByteChannel target,
                           java.io.File directory)
                    throws java.io.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:
        java.io.IOException - if an I/O error occurs
        ArchiveException - if the archive cannot be created for other reasons
      • create

        public void create​(java.lang.String format,
                           java.nio.channels.SeekableByteChannel target,
                           java.io.File directory,
                           CloseableConsumer closeableConsumer)
                    throws java.io.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:
        java.io.IOException - if an I/O error occurs
        ArchiveException - if the archive cannot be created for other reasons
        Since:
        1.19
      • create

        public void create​(ArchiveOutputStream target,
                           java.io.File directory)
                    throws java.io.IOException,
                           ArchiveException
        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:
        java.io.IOException - if an I/O error occurs
        ArchiveException - if the archive cannot be created for other reasons
      • create

        public void create​(SevenZOutputFile target,
                           java.io.File directory)
                    throws java.io.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:
        java.io.IOException - if an I/O error occurs
      • prefersSeekableByteChannel

        private boolean prefersSeekableByteChannel​(java.lang.String format)