解压特定zip压缩文件中指定文件,Java

有些时候,zip压缩文件特别大动辄几GB,但是只想要其中某一个特定文件,此时就完全没必要把全量文件都解压出来,只需解压指定文件即可。

public static void decompress(String targetFileName, String srcPath, String destPath) throws Exception {File file = new File(srcPath);if (!file.exists()) {throw new RuntimeException(srcPath + "不存在");}ZipFile zf = new ZipFile(file);Enumeration entries = zf.entries();ZipEntry entry;while (entries.hasMoreElements()) {entry = (ZipEntry) entries.nextElement();String name = entry.getName();if (!name.endsWith(targetFileName)) {continue;}File dir = new File(destPath);if (!dir.exists()) {dir.mkdirs();}File f = new File(dir + File.separator + targetFileName);if (!f.exists()) {f.createNewFile();}InputStream is = zf.getInputStream(entry);FileOutputStream fos = new FileOutputStream(f);int count;byte[] buffer = new byte[1024 * 8];while (true) {count = is.read(buffer);if (count == -1) {break;}fos.write(buffer, 0, count);}is.close();fos.close();}}

上面功能函数首先从srcPath加载zip压缩文件,然后对zip压缩文件里面包含的每个文件进行过滤筛选,搜索到名字为targetFileName的文件后,将其解压到destPath目录文件夹下。

解压特定zip压缩文件中特定文件,Java相关推荐

  1. java解压_Java ZIP压缩和解压缩文件(解决中文文件名乱码问题)

    JDK中自带的ZipOutputStream在压缩文件时,如果文件名中有中文,则压缩后的 zip文件打开时发现中文文件名变成乱码. 解决的方法是使用apache-ant-zip.jar包(见附件)中的 ...

  2. win压缩包linux解压软件,linux解压rar,zip压缩文件教程

    现在网上下载的文件很多都是rar,zip打包的,便于网络上传输,在Windows中只需要安装一个压缩软件那么加压rar,zip压缩文件就很方便了,那么在linux系统中呢,如何解压.zip和.rar文 ...

  3. 关于使用zip4j实现解压与压缩文件,以及向压缩文件中添加文件 , 解压带密码的压缩文件 , 向压缩文件添加密码

    解压与压缩文件 1.Zip4j介绍 zip4j官网:http://www.lingala.net/zip4j/ 可以在"download"页面下载官方示例进行学习. 特征: 从Zi ...

  4. vb.net 解压缩(文件/文件夹解压缩,zip文件浏览,单文件解压,分卷压缩)

    vb.net 解压缩(文件/文件夹解压缩,zip文件浏览,单文件解压,分卷压缩) DLL:Ionic.Zip.dll 说明: 1.解压/压缩 显示加密进度及总进度. 2.zip文件打开,浏览内部文件. ...

  5. python读取字符串指定位置字符_python读取txt文件中特定位置字符的方法

    python读取txt文件中特定位置字符的方法 如下所示: # -*- coding:utf-8 -*- import sys reload(sys) sys.setdefaultencoding(' ...

  6. 压缩解压:tar zip unzip 7z|7za rar

    tar -c|x|u|r|t[z|j][v] -f <归档文件> [未打包文件] 将多个文件打包为一个归档文件,可以在打包的同时进行压缩.支持的格式为tar(归档).gz(压缩).bz2( ...

  7. 固实压缩文件容易损坏_文件解压失败与压缩文件文件已经损坏的解决办法

    压缩文件以减少文件大小和提高传送速度的特点而广受用户欢迎,压缩文件时一般需要电脑安装压缩软件.我们在解压的过程中电脑有的时候会提示:此解压失败或压缩文件文件已经损坏?下面小编就为大家整理了解压文件出错 ...

  8. 计算机二级准考证解压缩失败 文件损坏,文件解压失败与压缩文件文件已经损坏的解决办法...

    压缩文件以减少文件大小和提高传送速度的特点而广受用户欢迎,压缩文件时一般需要电脑安装压缩软件.我们在解压的过程中电脑有的时候会提示:此解压失败或压缩文件文件已经损坏?下面小编就为大家整理了解压文件出错 ...

  9. java zip 创建目录_Java实现Zip压缩目录中的所有文件

    java中将一个文件夹下所有的文件压缩成一个文件,然import java.io.*; import java.util.zip.*; public class CompressD { // 缓冲 s ...

最新文章

  1. Java 的序列化和反序列化,你该知道得更多
  2. 《Linux shell变量总结回顾》RHEL6
  3. Windows中现在有独立的Linux文件夹系统
  4. 数字文档搜寻指南 v6.0
  5. 感觉很好的IT自学参考教程收集
  6. Windows2008的安装
  7. 在Ubuntu X64上编译Hadoop
  8. 智能毫米波雷达人体感应器,实时检测静止存在,智能化控制方案
  9. 汇编----正确区分LJMP、AJMP、SJMP、JMP跳转指令
  10. 北京航空航天大学计算机学院保研率,北京航空航天大学计算机学院(专业学位)计算机技术保研条件...
  11. Redis协议spec(翻译)
  12. 胡阳pyhton作业题--20150730
  13. 优化后的sql 语句 oracle
  14. MATLAB text legend title 输入减号 minus 符号的做法
  15. Android studio安装教程(2020/11/20最新版本的安装)
  16. HTTP 新增的 103 状态码,这次终于派上用场了!
  17. 『前端实习笔记』12月 第1周
  18. rocketmq,索尔,qf,视频
  19. 日光観光は東照宮だけじゃない!日光観光のおすすめスポット29選
  20. 汇总二,js系列-css系列-其他综合系列

热门文章

  1. 【diannaoxitong】总结网站被百度K站怎么快速恢复的方法
  2. Trunking学习总结
  3. 如何配置FS726T的链路聚合--Trunking
  4. GRBL v1.1版本的介绍
  5. 英特尔 CPU 惊天漏洞事件完全详解
  6. 使用netplan连接WiFi
  7. FPGA驱动4通道2K(2560*1440)LVDS液晶屏
  8. 在matlab图中加国界线,科学网-Matlab 利用m_map加国界线-肖鑫的博文
  9. C语言实现求复数的模,开启面向对象编程之路
  10. 快速搭建一个自己的服务器详解(java环境)