赞
踩
最近想拉去自己的银行流水看看 就去某app上面申请 发现打包的zip是个加密的压缩包 来了兴趣就自己研究了下
新手上路 大神勿喷!!!
jdk本身的java.util.zip包就可以搞定,但是没有提供对压缩包加密的方法 网上找到一些依赖 zip4j 版本我用的是1.3.1 要想使用其他版本就需要自己去查找版本了
首先这是maven 依赖
- <dependency>
- <groupId>net.lingala.zip4j</groupId>
- <artifactId>zip4j</artifactId>
- <version>1.3.1</version>
- </dependency>
引入了依赖之后简单写了个demo
- import net.lingala.zip4j.core.ZipFile;
- import net.lingala.zip4j.exception.ZipException;
- import net.lingala.zip4j.model.ZipParameters;
- import net.lingala.zip4j.util.Zip4jConstants;
-
-
- public static void main(String[] args) {
- String sss="我是text温江1额323阿萨德群所多群翁看到静安寺";
- String passwd="1234";
- ZipParameters parameters = new ZipParameters();
- // 压缩方式
- parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
- // 压缩级别
- parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
- parameters.setSourceExternalStream(true);
- parameters.setFileNameInZip("aaaa.txt");
- if (!"".equals(passwd)) {
- parameters.setEncryptFiles(true);
- // 加密方式
- parameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_STANDARD);
- parameters.setPassword(passwd.toCharArray());
- }
- try {
- ZipFile zipFile = new ZipFile("E:\\java压缩文件.zip");
- zipFile.addStream(new ByteArrayInputStream(sss.getBytes()), parameters);
- } catch (ZipException e) {
- e.printStackTrace();
- }
- }
压缩完了就可以看到 解压的时候就需要输入密码了
好了 复制我的代码跑跑看~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。