Java使用7Zip完成文件的压缩和解压缩

有时候,你的程序有可能会做压缩和解压缩的操作,当然,你完全可以使用Java自带的压缩和解压缩的工具类来完成,但是那样也会带来一些问题:最主要的就是中文乱码的问题以及保持目录结构的问题。所以,我们完全可以借助7Zip来完全文件的压缩与解压缩。

使用Java调用7Zip来完全任务其实说白了就是使用7Zip的命令行模式,然后使用Java的Runtime.getRuntime().exec()来执行相应的命令就可以了,好了,废话不多说,直接上代码吧:

import java.io.File;

/**
 * 7Zip封装工具类
 *
 * @author Storezhang
 */
public class ZipUtils {

    public static void unZip(String filename) throws Exception {
        File zipFile = new File(filename);
        if (!zipFile.exists()) {
            return;
        }

        File zipExeFile = new File("./7z.exe");
        String exec = String.format("%s x -aoa \"%s\" -o\"%s\"", zipExeFile.getAbsolutePath(), zipFile.getAbsolutePath(), zipFile.getParent());
        Runtime runtime = Runtime.getRuntime();
        runtime.exec(exec);
    }
}

需要注意的是,路径两边都要加上双引号来引上,以防止目录中有空格的情况。另外,此代码只在Windows上能执行,如果你要在Linux上执行的话,需要确保Linux的目标机器上有7Zip软件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值