Class StreamArchiver
java.lang.Object
org.miaixz.bus.extra.compress.archiver.StreamArchiver
- All Implemented Interfaces:
Closeable,AutoCloseable,Archiver
数据归档封装,归档即将几个文件或目录打成一个压缩包 支持的归档文件格式为:
ArchiveStreamFactory.ARArchiveStreamFactory.CPIOArchiveStreamFactory.JARArchiveStreamFactory.TARArchiveStreamFactory.ZIP
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Constructor Summary
ConstructorsConstructorDescriptionStreamArchiver(Charset charset, String archiverName, File file) 构造StreamArchiver(Charset charset, String archiverName, OutputStream targetStream) 构造 -
Method Summary
Modifier and TypeMethodDescription将文件或目录加入归档包,目录采取递归读取方式按照层级加入voidclose()无异常关闭finish()结束已经增加的文件归档,此方法不会关闭归档流,可以继续添加文件static StreamArchiver创建归档器static StreamArchiverof(Charset charset, String archiverName, OutputStream out) 创建归档器
-
Constructor Details
-
StreamArchiver
构造- Parameters:
charset- 编码archiverName- 归档类型名称,见ArchiveStreamFactoryfile- 归档输出的文件
-
StreamArchiver
构造- Parameters:
charset- 编码archiverName- 归档类型名称,见ArchiveStreamFactorytargetStream- 归档输出的流
-
-
Method Details
-
of
创建归档器- Parameters:
charset- 编码archiverName- 归档类型名称,见ArchiveStreamFactoryfile- 归档输出的文件- Returns:
- StreamArchiver
-
of
创建归档器- Parameters:
charset- 编码archiverName- 归档类型名称,见ArchiveStreamFactoryout- 归档输出的流- Returns:
- StreamArchiver
-
add
public StreamArchiver add(File file, String path, Function<String, String> fileNameEditor, Predicate<File> predicate) throws org.miaixz.bus.core.lang.exception.InternalExceptionDescription copied from interface:Archiver将文件或目录加入归档包,目录采取递归读取方式按照层级加入- Specified by:
addin interfaceArchiver- Parameters:
file- 文件或目录path- 文件或目录的初始路径,null表示位于根路径fileNameEditor- 文件名编辑器predicate- 文件过滤器,指定哪些文件或目录可以加入,Predicate.test(Object)为true保留,null表示全部加入- Returns:
- this
- Throws:
org.miaixz.bus.core.lang.exception.InternalException
-
finish
结束已经增加的文件归档,此方法不会关闭归档流,可以继续添加文件 -
close
public void close()Description copied from interface:Archiver无异常关闭
-