目录结构如下:

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
import java.util.zip.ZipOutputStream;public class zipDemo {public static void main(String[] args)  {try {//zipFolder("/home/hadoop/test";);unzip("/home/hadoop/mytest/test.zip","/home/hadoop/mytest/");} catch (IOException e) {e.printStackTrace();}}static void zipFolder(String _path) throws IOException{Path path = Paths.get(_path);String target = "/home/hadoop/mytest/test.zip";//String target = path.getParent() +"/" + path.getFileName() +".zip";/*System.out.println(path.getFileName());System.out.println(path.getRoot());System.out.println(path.getParent());System.out.println(target);   */ZipOutputStream zo = new ZipOutputStream(new FileOutputStream(target));zipFile(zo,path,"");zo.close();}static void zipFile(ZipOutputStream zo,Path _path,String parentpath) throws IOException{File _file = _path.toFile();if(_file.isFile()){byte[] buff = new byte[1024];FileInputStream fi = new FileInputStream(_file);int len;zo.putNextEntry(new ZipEntry(parentpath +"/" + _file.getName()));while((len=fi.read(buff))>0)zo.write(buff, 0, len);zo.closeEntry();fi.close();}if(_file.isDirectory()){if(_file.listFiles().length==0){zo.putNextEntry(new ZipEntry(parentpath.equals("")?_file.getName():parentpath + "/" + _file.getName() + "/"));}for(File __file : _file.listFiles())zipFile(zo,__file.toPath(),parentpath.equals("")?_file.getName():parentpath+ "/" + _file.getName());}}static void unzip(String path,String target) throws IOException{File targetfolder = new File(target);ZipInputStream zi = new ZipInputStream(new FileInputStream(path));ZipEntry ze = null;FileOutputStream fo = null;byte[] buff = new byte[1024];int len;while((ze =  zi.getNextEntry())!=null){File _file = new File(targetfolder,ze.getName());if(!_file.getParentFile().exists()) _file.getParentFile().mkdirs();if(ze.isDirectory()){_file.mkdir();}else //file{fo = new FileOutputStream(_file);while((len=zi.read(buff))>0) fo.write(buff, 0, len);fo.close();}zi.closeEntry();}        zi.close();}
}

转载于:https://www.cnblogs.com/huaxiaoyao/p/4300502.html

Java zip and unzip demo相关推荐

  1. zip和unzip上的Java要点

    压缩是编写文件时可以在我们的代码中发出的主要动作之一. 因此,我发现在zip和unzip上必不可少的简单Java代码段,并且必须易于访问. 要点是纯Java语言,并以zip格式存储两个文件. 完成后, ...

  2. java中使用unzip_java实现zip与unzip

    java实现zip与unzip jdk提供了Zip相关的类方便的实现压缩和解压缩.使用方法很简单.下边分别是压缩和解压缩的简单事例 1,压缩的 import java.io.BufferedInput ...

  3. java zip加密压缩_Java解压和压缩带密码的zip文件过程详解

    前言 JDK自带的ZIP操作接口(java.util.zip包,请参看文章末尾的博客链接)并不支持密码,甚至也不支持中文文件名. 为了解决ZIP压缩文件的密码问题,在网上搜索良久,终于找到了winzi ...

  4. java zip 解压 密码_Java解压和压缩带密码的zip文件过程详解

    前言 JDK自带的ZIP操作接口(java.util.zip包,请参看文章末尾的博客链接)并不支持密码,甚至也不支持中文文件名. 为了解决ZIP压缩文件的密码问题,在网上搜索良久,终于找到了winzi ...

  5. java zip打包与乱码的解决

    2019独角兽企业重金招聘Python工程师标准>>> 关于 java zip 打包用的场景还是有不少,包括在归档的时候,还有就是在提交数据的时候,一般都会采用这种方式.但是这里面最 ...

  6. java zip 文件夹_Java Zip文件文件夹示例

    java zip 文件夹 Today we will look into java zip file example. We will also compress a folder and creat ...

  7. linux 解压所有以zip结尾的文件_Linux下的压缩zip,解压缩unzip命令详解及实例

    摘自:https://www.cnblogs.com/yves0923/p/10965021.html Linux下的压缩解压缩命令详解及实例 实例:压缩服务器上当前目录的内容为xxx.zip文件 z ...

  8. java zip文件解压(含有密码解压)

    maven需要加入以下依赖: <dependency><groupId>net.lingala.zip4j</groupId><artifactId>z ...

  9. java zip压缩文件

    java 生成zip压缩文件 1.zip压缩文件 文章目录 java 生成zip压缩文件 一.引入jar包 二.工具类 1.有密码压缩 2.无密码压缩 3. 解压方法 三.示例 3.1.压缩前 3.2 ...

最新文章

  1. 呼之欲出的量子计算机和漫长的最后一公里
  2. AIX的异步IO设置
  3. Sublime Text Version 3.0,Build3143注册码
  4. ubuntu的apt及pip自动下载换源脚本
  5. 微信小程序 基础1【本页面窗口配置、组件、布局】
  6. c# 可变二维数组_C#| 具有固定行大小和可变列大小的二维数组
  7. Node.js 应用故障排查手册 —— 综合性 GC 问题和优化
  8. 卸载Oracle数据库(有图有真相)
  9. 移动端 GPU 推理性能提升 2 倍!TensorFlow 推出新 OpenCL 后端
  10. android单例模式代码,在Android studio 中使用单例模式(示例代码)
  11. C# List最大值最小值问题 List排序问题 List Max/Min
  12. 黑苹果内置硬盘识别成外置硬盘_压倒U盘最后一根稻草?ORICO iMatch移动固态硬盘体验...
  13. js轮播图 最简单代码
  14. Scrapy框架的基本组成及功能使用
  15. 字符集编码(一):Unicode 之前
  16. Elephant Swap的LaaS方案优势分析,致eToken表现强势
  17. 计算机工程与应用出版时间,计算机工程与应用
  18. php 正则匹配中文
  19. 监听通知栏内容,获取通知栏消息,安卓原生SDK扩展
  20. 拼多多用户优惠券使用行为预测分析项目

热门文章

  1. 35岁前成功黄金法则
  2. 北京 | 蚂蚁集团共享智能团队招聘研究实习生
  3. 无中生有!没有视觉信号的视觉语音增强
  4. 不想横屏看视频?谷歌开源框架AutoFlip一键截出最精彩竖版视频
  5. 二值神经网络重大突破,第一次胜过MobileNet!-1与+1的三年艰苦跋涉
  6. PyTorch语义分割开源库semseg
  7. 计算机视觉论文-2021-06-11
  8. 从入门到精通!零基础上手车辆目标跟踪与计数
  9. 前沿 | NVIDIA PyTorch库让3D深度学习研究更简单!
  10. R-CNN目标检测第三弹(Faster R-CNN)