Interface Extractor

All Superinterfaces:
AutoCloseable, Closeable
All Known Implementing Classes:
SevenZExtractor, StreamExtractor

public interface Extractor extends Closeable
归档数据解包封装,用于将zip、tar等包解包为文件
Since:
Java 17+
Author:
Kimi Liu
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    无异常关闭
    default void
    extract(File targetDir)
    释放(解压)到指定目录,结束后自动关闭流,此方法只能调用一次
    void
    extract(File targetDir, Predicate<org.apache.commons.compress.archivers.ArchiveEntry> predicate)
    释放(解压)到指定目录,结束后自动关闭流,此方法只能调用一次
    default InputStream
    get(String entryName)
    获取指定名称的文件流
    getFirst(Predicate<org.apache.commons.compress.archivers.ArchiveEntry> predicate)
    获取满足指定过滤要求的压缩包内的第一个文件流
  • Method Details

    • extract

      default void extract(File targetDir)
      释放(解压)到指定目录,结束后自动关闭流,此方法只能调用一次
      Parameters:
      targetDir - 目标目录
    • extract

      void extract(File targetDir, Predicate<org.apache.commons.compress.archivers.ArchiveEntry> predicate)
      释放(解压)到指定目录,结束后自动关闭流,此方法只能调用一次
      Parameters:
      targetDir - 目标目录
      predicate - 解压文件过滤器,用于指定需要释放的文件,null表示不过滤。Predicate.test(Object)true时释放。
    • get

      default InputStream get(String entryName)
      获取指定名称的文件流
      Parameters:
      entryName - entry名称
      Returns:
      文件流,无文件返回null
    • getFirst

      InputStream getFirst(Predicate<org.apache.commons.compress.archivers.ArchiveEntry> predicate)
      获取满足指定过滤要求的压缩包内的第一个文件流
      Parameters:
      predicate - 用于指定需要释放的文件,null表示不过滤。当Predicate.test(Object)true返回对应流。
      Returns:
      满足过滤要求的第一个文件的流, 无满足条件的文件返回null
    • close

      void close()
      无异常关闭
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable