Apache Commons:简单的使用Compress创建7z压缩文件

Posted 你是小KS

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache Commons:简单的使用Compress创建7z压缩文件相关的知识,希望对你有一定的参考价值。

1. 声明

当前内容主要为学习和使用Apache Commons Compress这个工具类创建7z的压缩文件

当前内容主要借鉴:官方文档

基本pom

<dependency>
	<groupId>org.apache.commons</groupId>
	<artifactId>commons-compress</artifactId>
	<version>1.20</version>
</dependency>
<!-- 上面的compress需要依赖下面这个 -->
<!-- https://mvnrepository.com/artifact/org.tukaani/xz -->
<dependency>
	<groupId>org.tukaani</groupId>
	<artifactId>xz</artifactId>
	<version>1.9</version>
</dependency>

如果是出现org.tukaani.xz.XXX没找到,那么表示没有导入上面的包导致的问题

2. 基本demo

首先准备一个需要压缩的文件,再开始编写代码

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;

/**
 * 
 * @author hy
 * @createTime 2021-06-20 13:22:37
 * @description 当前内容主要为测试和使用7z进行压缩
 *
 */
public class SevenZCompressTest {
	public static void main(String[] args) {
		// 报错缺少org.tukaani.xz.FilterOptions这个类
		File outFile = new File("C:\\\\Users\\\\admin\\\\Desktop\\\\java的测试\\\\\\\\read-write-jar-test\\\\myDemo.7z");
		File inFile = new File("C:\\\\Users\\\\admin\\\\Desktop\\\\java的测试\\\\read-write-jar-test\\\\jetbrains-agent.jar");
		try (SevenZOutputFile sevenZOutput = new SevenZOutputFile(outFile);) {
			SevenZArchiveEntry entry = sevenZOutput.createArchiveEntry(inFile, "jetbrains-agent.jar");
			sevenZOutput.putArchiveEntry(entry);
			byte[] buffer = new byte[1024];
			int len = 0;
			try (FileInputStream fis = new FileInputStream(inFile)) {
				while ((len = fis.read(buffer)) != -1) {
					sevenZOutput.write(buffer, 0, len);
				}		
			}

			sevenZOutput.closeArchiveEntry();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		System.out.println("成功写入一个7z的文件.....");

	}
}

具体的基本操作和前面的操作jar文件很像,并且很简单

3. 执行后的结果

在这里插入图片描述
在这里插入图片描述

压缩成功

以上是关于Apache Commons:简单的使用Compress创建7z压缩文件的主要内容,如果未能解决你的问题,请参考以下文章

Apache Commons 工具类介绍及简单使用

apache commons Math库简单实用

Apache Commons 工具类介绍及简单使用

Apache Commons:简单的使用Configuration读取和修改配置文件

Apache Commons:CLi的简单的使用(创建mysql的访问器)

如何在没有 IDE 的情况下使用 Apache Commons Lang 代码? (org.apache.commons.lang3)