使用java中的java.util.zip工具解压zip文件
核心类 ZipInputStream 的api文档请参考:
https://nowjava.com/docs/java-api-11/java.base/java/util/zip/ZipInputStream.html
关于zip压缩的代码参考:http://www.jiajiajia.club/blog/artical/1en1qpemej45/499
java代码
import java.io.*;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import java.util.zip.ZipInputStream;
public class ZipInPutTest {
public static void main(String[] args) throws Exception{
File file = new File("D:\\data\\ziptest\\test.zip");
// 文件输入流(需要解压的文件)
BufferedInputStream bufferedInputStream
= new BufferedInputStream(
new FileInputStream(file));
ZipInputStream zipInputStream = new ZipInputStream(bufferedInputStream);
// 压缩文件实例,为了获取ZipEntry的内容
ZipFile zipFile = new ZipFile(file);
// 文件解压保存的地方
String path = "D:\\data\\ziptest\\test\\";
ZipEntry zipEntry;
while ((zipEntry=zipInputStream.getNextEntry())!=null){
// zipEntry 是一个文件夹
if(zipEntry.isDirectory()){
File directory = new File(path+zipEntry.getName()+"\\");
if(!directory.exists()){
directory.mkdirs();
}
}else{
// zipEntry 是一个文件
// outFile 创建并输出到本地文件
File outFile = new File(path+zipEntry.getName());
// 文件输出流
BufferedOutputStream bufferedOutputStream =
new BufferedOutputStream(
new FileOutputStream(outFile));
// 获取ZipEntry的文件流
InputStream inputStream = zipFile.getInputStream(zipEntry);
byte[] b = new byte[1024];
int length;
while ((length=inputStream.read(b))!=-1){
// 写入到本地文件
bufferedOutputStream.write(b,0,length);
}
inputStream.close();
bufferedOutputStream.close();
}
}
zipInputStream.close();
bufferedInputStream.close();
zipFile.close();
}
}
评论区
请写下您的评论...
猜你喜欢
java基础
1212
核心类ZipOutputStream的api文档请参考:https://nowjava.com/docs/java-api-11/java.base/java/util/zip
blog
java压缩zip工具类
工具
1647
java压缩zip工具类packagecom.dzqc.yx.util;importjava.io.File;importjava.io.FileInputStream
blog
java解压zip工具类
工具
1853
packageunzip;importjava.io.File;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.InputStream;importjava.util.Enumeration;importjava.util.zip.ZipEntry;importjava.util.zip.ZipFile;
算法基础
1938
前端项目正式发布时一般需要混淆压缩js、css文件等,一方面压缩能够使文件体积更小,更多的节约网络io资源,另一方面能避免被人读懂你的代码!!!!!!工具可以使用uglifyjs2。安装通过npm安
blog
java使用dom4j解析xml文件
工具
3213
要解析的xml文件如下:soap:Envelopexmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"xmlns:xsd="http://www.
java虚拟机(jvm)
2196
jmap是java虚拟机自带的一种内存映像工具,我们可以通过该工具配合不同的参数来查看java虚拟机内存的详细信息(如程序中出现的所有对象的数量以及占用内存大小等),以及通过虚拟机内存的使用情况来定
blog
使用rclone管理minio文件
minio
1952
rclone下载地址:https://rclone.org/downloads/
解压文件包:
unziprclone-v1.59.0-linux-amd64.zip
cdcdrclone
算法基础
2222
什么是jxlsjxls是一个简单的、轻量级的excel导出库,使用特定的标记在excel模板文件中来定义输出格式和布局。其实java中成熟的excel导出工具有pol、jxl,但他们都是使用java
最新发表
归档
2018-11
12
2018-12
33
2019-01
28
2019-02
28
2019-03
32
2019-04
27
2019-05
33
2019-06
6
2019-07
12
2019-08
12
2019-09
21
2019-10
8
2019-11
15
2019-12
25
2020-01
9
2020-02
5
2020-03
16
2020-04
4
2020-06
1
2020-07
7
2020-08
13
2020-09
9
2020-10
5
2020-12
3
2021-01
1
2021-02
5
2021-03
7
2021-04
4
2021-05
4
2021-06
1
2021-07
7
2021-08
2
2021-09
8
2021-10
9
2021-11
16
2021-12
14
2022-01
7
2022-05
1
2022-08
3
2022-09
2
2022-10
2
2022-12
5
2023-01
3
2023-02
1
2023-03
4
2023-04
2
2023-06
3
2023-07
4
2023-08
1
2023-10
1
2024-02
1
2024-03
1
2024-04
1
2024-08
1
标签
算法基础
linux
前端
c++
数据结构
框架
数据库
计算机基础
储备知识
java基础
ASM
其他
深入理解java虚拟机
nginx
git
消息中间件
搜索
maven
redis
docker
dubbo
vue
导入导出
软件使用
idea插件
协议
无聊的知识
jenkins
springboot
mqtt协议
keepalived
minio
mysql
ensp
网络基础
xxl-job
rabbitmq
haproxy
srs
音视频
webrtc
javascript
加密算法
目录
没有一个冬天不可逾越,没有一个春天不会来临。最慢的步伐不是跬步,而是徘徊,最快的脚步不是冲刺,而是坚持。