Class StreamExtractor
java.lang.Object
org.miaixz.bus.extra.compress.extractor.StreamExtractor
- All Implemented Interfaces:
Closeable,AutoCloseable,Extractor
数据解压器,即将归档打包的数据释放
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Constructor Summary
ConstructorsConstructorDescriptionStreamExtractor(Charset charset, File file) 构造StreamExtractor(Charset charset, InputStream in) 构造StreamExtractor(Charset charset, String archiverName, File file) 构造StreamExtractor(Charset charset, String archiverName, InputStream in) 构造 -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()无异常关闭void释放(解压)到指定目录,结束后自动关闭流,此方法只能调用一次获取满足指定过滤要求的压缩包内的第一个文件流
-
Constructor Details
-
StreamExtractor
构造- Parameters:
charset- 编码file- 包文件
-
StreamExtractor
构造- Parameters:
charset- 编码archiverName- 归档包格式,null表示自动检测file- 包文件
-
StreamExtractor
构造- Parameters:
charset- 编码in- 包流
-
StreamExtractor
构造- Parameters:
charset- 编码archiverName- 归档包格式,null表示自动检测in- 包流
-
-
Method Details
-
getFirst
public InputStream getFirst(Predicate<org.apache.commons.compress.archivers.ArchiveEntry> predicate) Description copied from interface:Extractor获取满足指定过滤要求的压缩包内的第一个文件流- Specified by:
getFirstin interfaceExtractor- Parameters:
predicate- 用于指定需要释放的文件,null表示不过滤。当Predicate.test(Object)为true返回对应流。- Returns:
- 满足过滤要求的第一个文件的流, 无满足条件的文件返回
null
-
extract
public void extract(File targetDir, Predicate<org.apache.commons.compress.archivers.ArchiveEntry> predicate) 释放(解压)到指定目录,结束后自动关闭流,此方法只能调用一次- Specified by:
extractin interfaceExtractor- Parameters:
targetDir- 目标目录predicate- 解压文件过滤器,用于指定需要释放的文件,null表示不过滤。当Predicate.test(Object)为true时释放。
-
close
public void close()Description copied from interface:Extractor无异常关闭
-