本文由编程笔记#小编为大家整理,主要介绍了Apache Commons:简单的使用Compress创建7z压缩文件相关的知识,希望对你有一定的参考价值。
1. 声明
当前内容主要为学习和使用Apache Commons Compress这个工具类创建7z的压缩文件
当前内容主要借鉴:官方文档
基本pom
<dependency>
<groupId>org.apache.commonsgroupId>
<artifactId>commons-compressartifactId>
<version>1.20version>
dependency>
<dependency>
<groupId>org.tukaanigroupId>
<artifactId>xzartifactId>
<version>1.9version>
dependency>
如果是出现org.tukaani.xz.XXX
没找到&#xff0c;那么表示没有导入上面的包导致的问题
2. 基本demo
首先准备一个需要压缩的文件&#xff0c;再开始编写代码
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import org.apache.commons.compress.archivers.sevenz.SevenZArchiveEntry;
import org.apache.commons.compress.archivers.sevenz.SevenZOutputFile;
public class SevenZCompressTest {
public static void main(String[] args) {
File outFile &#61; new File("C:\\\\Users\\\\admin\\\\Desktop\\\\java的测试\\\\\\\\read-write-jar-test\\\\myDemo.7z");
File inFile &#61; new File("C:\\\\Users\\\\admin\\\\Desktop\\\\java的测试\\\\read-write-jar-test\\\\jetbrains-agent.jar");
try (SevenZOutputFile sevenZOutput &#61; new SevenZOutputFile(outFile);) {
SevenZArchiveEntry entry &#61; sevenZOutput.createArchiveEntry(inFile, "jetbrains-agent.jar");
sevenZOutput.putArchiveEntry(entry);
byte[] buffer &#61; new byte[1024];
int len &#61; 0;
try (FileInputStream fis &#61; new FileInputStream(inFile)) {
while ((len &#61; fis.read(buffer)) !&#61; -1) {
sevenZOutput.write(buffer, 0, len);
}
}
sevenZOutput.closeArchiveEntry();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("成功写入一个7z的文件.....");
}
}
具体的基本操作和前面的操作jar文件很像&#xff0c;并且很简单
3. 执行后的结果
压缩成功