Java 读取Zip文件中的某个子文件

本文详细介绍了如何在test.zip文件中读取test.xml文件内容,并通过性能分析展示了从ZIP中IO文件的性能与直接IO文本性能的对比。分析了不同文件类型在压缩包内的IO性能差异,提供了压缩文件IO性能的优化建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    在test.zip文件中读取test.xml文件内容。

    代码如下所示。

 

File processFile = new File(RESOURCES_BASE_FILE, PROCESS);
File file = new File(processFile, "test.zip");
ZipFile zipFile = new ZipFile(file);
InputStream zipInputStream = zipFile.getInputStream(zipFile.getEntry("test.xml"));
String xml = FileUtil.readFileContentAsString(zipInputStream, "UTF-8");
assertNotNull(xml);
zipInputStream.close();
压缩文件IO性能分析
编号  文件类型大小读写次数 消耗时间 备注 
1普通文本文件(ZIP)1K 
1000.020秒1,2,3,4所读取的同一个文件,区别在于2,3,4是在压缩包中的。
2单个压缩文件0.5K 
1000.025秒编号1的压缩文本
3流程压缩文件(ZIP)100K1000.025秒消息流程压缩文件
4大压缩文件(ZIP)100M1000.025秒树状层次的压缩文件
5大文本文件50M101.2秒
6单个大压缩文件(ZIP)35M101.3秒编号5的压缩文本

总体上讲,从ZIP中IO文件的性能比直接IO文本的性能慢20%

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值