Java实现把文件压缩成zip文件的示例代码

网友投稿 309 2022-10-27

Java实现把文件压缩成zip文件的示例代码

实现代码

ackage org.fh.util;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.util.zip.ZipEntry;

import java.util.zip.ZipOutputStream;

/**

* 说明:java压缩成zip

* from:fhadmin.cn

*/

public class FileZip {

/**

* @param inputFileName 你要压缩的文件夹(整个完整路径)

* @param zipFileName 压缩后的文件(整个完整路径)

* @throws Exception

*/

public static Boolean zip(String inputFileName, String zipFileName) throws Exception {

zip(zipFileName, new File(inputFileName));

return true;

}

private static void zip(String zipFileName, File inputFile) throws Exception {

ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipFileName));

zip(out, inputFile, "");

out.flush();

out.close();

}

private static void zip(ZipOutputStream out, File f, String base) throws Exception {

if (f.isDirectory()) {

File[] fl = f.listFiles();

out.putNextEntry(new ZipEntry(base + "/"));

base = base.length() == 0 ? "" : base + "/";

for (int i = 0; i < fl.length; i++) {

zip(out, fl[i], base + fl[i].getName());

}

} else {

out.putNextEntry(new ZipEntry(base));

FileInputStream in = new FileInputStream(f);

int b;

while ((b = in.read()) != -1) {

out.write(b);

}

in.close();

}

}

public static void main(String [] temp){

try {

zip("E:\\ftl","E:\\test.zip");//你要压缩的文件夹 和 压缩后的文件 http://

}catch (Exception ex) {

ex.printStackTrace();

}

}

}

代码解释:

1.模型管理 :web在线流程设计器、导入导出xml、复制流程、部署流程

2.流程管理 :导入导出流程资源文件、查看流程图、根据流程实例反射出流程模型、激活挂起

3.运行中流程:查看流程信息、当前任务节点、当前流程图、作废暂停流程、指派待办人、自由跳转

4.历史的流程:查看流程信息、流程用时、流程状态、查看任务发起人信息

5.待办任务 :查看本人个人任务以及本角色下的任务、办理、驳回、作废、指派一下代理人

6.已办任务 :查看自己办理过的任务以及流程信息、流程图、流程状态(作废 驳回 正wotVrR常完成)

补充

当然Java不仅能实现将文件压缩成zip文件,还可以实现将zip文件解压

下面是实现的工具类的核心代码,可以参考一下

/**

* 解压到指定目录

* @param zipPath

* @param descDir

* @author isehttp://a533

*/

public static void unZipFiles(String zipPath,String descDir)throws IOException{

unZipFiles(new File(zipPath), descDir);

}

/**

* 解压文件到指定目录

* @param zipFile

* @param descDir

* @author isea533

*/

@SuppressWarnings("rawtypes")

public static void unZipFiles(File zipFile,String descDir)throws IOException{

File pathFile = new File(http://descDir);

if(!pathFile.exists()){

pathFile.mkdirs();

}

ZipFile zip = new ZipFile(zipFile);

for(Enumeration entries = zip.getEntries();entries.hasMoreElements();){

ZipEntry entry = (ZipEntry)entries.nextElement();

String zipEntryName = entry.getName();

InputStream in = zip.getInputStream(entry);

String outPath = (descDir+zipEntryName).replaceAll("\\*", "/");;

//判断路径是否存在,不存在则创建文件路径

File file = new File(outPath.substring(0, outPath.lastIndexOf('/')));

if(!file.exists()){

file.mkdirs();

}

//判断文件全路径是否为文件夹,如果是上面已经上传,不需要解压

if(new File(outPath).isDirectory()){

continue;

}

//输出文件路径信息

System.out.println(outPath);

OutputStream out = new FileOutputStream(outPath);

byte[] buf1 = new byte[1024];

int len;

while((len=in.read(buf1))>0){

out.write(buf1,0,len);

}

in.close();

out.close();

}

System.out.println("******************解压完毕********************");

}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:kubernetes快速入门-安装篇
下一篇:ZYNQ-7000系列MIO、EMIO、AXI_GPIO接口
相关文章

 发表评论

暂时没有评论,来抢沙发吧~