Java zip and unzip demo
目录结构如下:
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相关推荐
- zip和unzip上的Java要点
压缩是编写文件时可以在我们的代码中发出的主要动作之一. 因此,我发现在zip和unzip上必不可少的简单Java代码段,并且必须易于访问. 要点是纯Java语言,并以zip格式存储两个文件. 完成后, ...
- java中使用unzip_java实现zip与unzip
java实现zip与unzip jdk提供了Zip相关的类方便的实现压缩和解压缩.使用方法很简单.下边分别是压缩和解压缩的简单事例 1,压缩的 import java.io.BufferedInput ...
- java zip加密压缩_Java解压和压缩带密码的zip文件过程详解
前言 JDK自带的ZIP操作接口(java.util.zip包,请参看文章末尾的博客链接)并不支持密码,甚至也不支持中文文件名. 为了解决ZIP压缩文件的密码问题,在网上搜索良久,终于找到了winzi ...
- java zip 解压 密码_Java解压和压缩带密码的zip文件过程详解
前言 JDK自带的ZIP操作接口(java.util.zip包,请参看文章末尾的博客链接)并不支持密码,甚至也不支持中文文件名. 为了解决ZIP压缩文件的密码问题,在网上搜索良久,终于找到了winzi ...
- java zip打包与乱码的解决
2019独角兽企业重金招聘Python工程师标准>>> 关于 java zip 打包用的场景还是有不少,包括在归档的时候,还有就是在提交数据的时候,一般都会采用这种方式.但是这里面最 ...
- java zip 文件夹_Java Zip文件文件夹示例
java zip 文件夹 Today we will look into java zip file example. We will also compress a folder and creat ...
- linux 解压所有以zip结尾的文件_Linux下的压缩zip,解压缩unzip命令详解及实例
摘自:https://www.cnblogs.com/yves0923/p/10965021.html Linux下的压缩解压缩命令详解及实例 实例:压缩服务器上当前目录的内容为xxx.zip文件 z ...
- java zip文件解压(含有密码解压)
maven需要加入以下依赖: <dependency><groupId>net.lingala.zip4j</groupId><artifactId>z ...
- java zip压缩文件
java 生成zip压缩文件 1.zip压缩文件 文章目录 java 生成zip压缩文件 一.引入jar包 二.工具类 1.有密码压缩 2.无密码压缩 3. 解压方法 三.示例 3.1.压缩前 3.2 ...
最新文章
- 呼之欲出的量子计算机和漫长的最后一公里
- AIX的异步IO设置
- Sublime Text Version 3.0,Build3143注册码
- ubuntu的apt及pip自动下载换源脚本
- 微信小程序 基础1【本页面窗口配置、组件、布局】
- c# 可变二维数组_C#| 具有固定行大小和可变列大小的二维数组
- Node.js 应用故障排查手册 —— 综合性 GC 问题和优化
- 卸载Oracle数据库(有图有真相)
- 移动端 GPU 推理性能提升 2 倍!TensorFlow 推出新 OpenCL 后端
- android单例模式代码,在Android studio 中使用单例模式(示例代码)
- C# List最大值最小值问题 List排序问题 List Max/Min
- 黑苹果内置硬盘识别成外置硬盘_压倒U盘最后一根稻草?ORICO iMatch移动固态硬盘体验...
- js轮播图 最简单代码
- Scrapy框架的基本组成及功能使用
- 字符集编码(一):Unicode 之前
- Elephant Swap的LaaS方案优势分析,致eToken表现强势
- 计算机工程与应用出版时间,计算机工程与应用
- php 正则匹配中文
- 监听通知栏内容,获取通知栏消息,安卓原生SDK扩展
- 拼多多用户优惠券使用行为预测分析项目