Class SevenZArchiver

java.lang.Object
org.miaixz.bus.extra.compress.archiver.SevenZArchiver
All Implemented Interfaces:
Closeable, AutoCloseable, Archiver

public class SevenZArchiver extends Object implements Archiver
7zip格式的归档封装
Since:
Java 17+
Author:
Kimi Liu
  • Constructor Details

    • SevenZArchiver

      public SevenZArchiver(File file)
      构造
      Parameters:
      file - 归档输出的文件
    • SevenZArchiver

      public SevenZArchiver(OutputStream out)
      构造
      Parameters:
      out - 归档输出的流
    • SevenZArchiver

      public SevenZArchiver(SeekableByteChannel channel)
      构造
      Parameters:
      channel - 归档输出的文件
  • Method Details

    • getSevenZOutputFile

      public org.apache.commons.compress.archivers.sevenz.SevenZOutputFile getSevenZOutputFile()
      获取SevenZOutputFile以便自定义相关设置
      Returns:
      SevenZOutputFile
    • add

      public SevenZArchiver add(File file, String path, Function<String,String> fileNameEditor, Predicate<File> filter)
      Description copied from interface: Archiver
      将文件或目录加入归档包,目录采取递归读取方式按照层级加入
      Specified by:
      add in interface Archiver
      Parameters:
      file - 文件或目录
      path - 文件或目录的初始路径,null表示位于根路径
      fileNameEditor - 文件名编辑器
      filter - 文件过滤器,指定哪些文件或目录可以加入,Predicate.test(Object)true保留,null表示全部加入
      Returns:
      this
    • finish

      public SevenZArchiver finish()
      Description copied from interface: Archiver
      结束已经增加的文件归档,此方法不会关闭归档流,可以继续添加文件
      Specified by:
      finish in interface Archiver
      Returns:
      this
    • close

      public void close()
      Description copied from interface: Archiver
      无异常关闭
      Specified by:
      close in interface Archiver
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable