java zipinputstream_Java之解压流(ZipInputStream)
/**
* 提供给用户使用的解压工具
* @param srcPath
* @param outPath
* @throws IOException*/
public static voiddecompressionFile(String srcPath, String outPath) throws IOException {//简单判断解压路径是否合法
if (!newFile(srcPath).isDirectory()) {//判断输出路径是否合法
if (newFile(outPath).isDirectory()) {if (!outPath.endsWith(File.separator)) {
outPath+=File.separator;
}//zip读取压缩文件
FileInputStream fileInputStream = newFileInputStream(srcPath);
ZipInputStream zipInputStream= newZipInputStream(fileInputStream);//解压文件
decompressionFile(outPath, zipInputStream);//关闭流
zipInputStream.close();
fileInputStream.close();
}else{throw new RuntimeException("输出路径不合法!");
}
}else{throw new RuntimeException("需要解压的文件不合法!");
}
}/**
* ZipInputStream是逐个目录进行读取,所以只需要循环
* @param outPath
* @param inputStream
* @throws IOException*/
private static voiddecompressionFile(String outPath, ZipInputStream inputStream) throws IOException {//读取一个目录
ZipEntry nextEntry =inputStream.getNextEntry();//不为空进入循环
while (nextEntry != null) {
String name=nextEntry.getName();
File file= new File(outPath+name);//如果是目录,创建目录
if (name.endsWith("/")) {
file.mkdir();
}else{//文件则写入具体的路径中
FileOutputStream fileOutputStream = newFileOutputStream(file);
BufferedOutputStream bufferedOutputStream= newBufferedOutputStream(fileOutputStream);intn;byte[] bytes = new byte[1024];while ((n = inputStream.read(bytes)) != -1) {
bufferedOutputStream.write(bytes,0, n);
}//关闭流
bufferedOutputStream.close();
fileOutputStream.close();
}//关闭当前布姆
inputStream.closeEntry();//读取下一个目录,作为循环条件
nextEntry =inputStream.getNextEntry();
}
}
java zipinputstream_Java之解压流(ZipInputStream)相关推荐
- 工具类:(一) java压缩与解压
工具类:(一) java压缩与解压 本工具类采用的是java.util包下的Deflater进行压缩,以及Inflater进行解压, 适用于程序中需要通过远程接口调用发送或接收数据时: /*** 压缩 ...
- Java 压缩与解压zip文件
一.压缩文件大致可以分为三种:ZIP.JAR.GZ. 压缩流 在日常中经常会使用到像WinRAR或WinZIP这样的压缩文件,通过这些软件可以把一个很大的文件进行压缩以方便传输. 在JAVA中,为了减 ...
- java 文件压缩 解压_Java文件压缩与解压缩(一)
package com.cn; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream ...
- java zip压缩解压_JAVA实现实用的ZIP压缩与解压
程序实现了ZIP压缩.共分为2部分 : 压缩(compression)与解压(decompression) 大致功能包括用了多态,递归等JAVA核心技术,可以对单个文件和任意级联文件夹进行压缩和解压. ...
- Java代码实现解压文件包和压缩文件的工具类
最近开发任务比较多,这两天陆陆续续整理了一点资料上传一下,这个是前段时间用到的解压和压缩文件的工具类,网上找了一些,自己补充一下,现在先分享一下,希望对各位同学有所帮助! package com.as ...
- java zip malformed_java 解压zip java.lang.IllegalArgumentException: MALFORMED 错误
zip压缩包在解压过程中,遇到了错误,提示如下 java.lang.IllegalArgumentException: MALFORMED at java.util.zip.ZipCoder.toSt ...
- java zip 高效 解压,java实现zip的压缩和解压
[ /** * 解压缩 * @param warPath 包地址 * @param unzipPath 解压后地址 */ public static void unzip(String warPath ...
- 【Android 安全】DEX 加密 ( Java 工具开发 | 解压 apk 文件 | 加密生成 dex 文件 | 打包未签名 apk 文件 | 文件解压缩相关代码 )
文章目录 一.解压 apk 文件 二.加密生成 dex 文件 三.打包未签名 apk 文件 四.完整代码示例 五.文件解压缩相关代码 六.执行结果 参考博客 : [Android 安全]DEX 加密 ...
- java代码实现解压文件_Java压缩/解压文件的实现代码
用java压缩/解压文件: import java.io.*; import java.awt.*; import java.awt.event.*; import java.util.*; impo ...
最新文章
- 计算机专业面试国王的问题,阿卜杜拉国王科技大学电气与计算机科学面试经验汇总...
- 物理光学 计算倏逝波/渐逝波在界面上存在的范围
- 数据类型及pythop运算符号
- openresty获取nginx请求url中的所有参数
- android简单小程序完整代码_10行代码实现小程序支付功能!丨实战
- 深入浅出讲解MSE Nacos 2.0新特性
- word2vec原理_word2vec论文阅读笔记
- Java中Lambda表达式与方法引用和构造器引用
- 坐飞机也能享受百兆宽带了,这个技术是怎么实现的?
- 在linux 创建网络会话和绑定两块网卡
- MySQL 字符集和校对
- CentOS Apache服务器配置https
- 未能加载文件或程序集System.EnterpriseServices
- 修正Linux下WPS字体库缺失
- 关于获得淘宝商品评论的那些事
- 《故事处方》丹提w摩尔 epub+mobi+azw3
- (每日一练c++)CC113 数独
- 动态规划解决0-1背包问题详解(图文并茂)
- Wireshark 实用篇2:Wireshark 抓包常用过滤命令
- 第二届“强网”拟态防御国际精英挑战赛落幕,29支国内外精英队伍未能突破拟态防御,赛宁网安靶场平台完美支撑BWM新赛制.
热门文章
- 算法每日练习之判断完数
- 生物信息学基本知识笔记
- LeetCode周赛191
- Java如何转换protobuf-net中的bcl.Decimal对象
- Nodejs的模块系统以及require的机制
- 嵌入式linux驱动开发之点亮led(驱动编程思想之初体验)
- (Eclipse)(STM32) STM32在Eclipse編程
- [Python]小甲鱼Python视频第32课(except)课后题及参考解答
- 【JZOJ5088】【GDOI2017第四轮模拟day2】最小边权和 排序+动态规划
- 实验四:汇编代码调用系统调用的工作过程