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
 * 作者:FH Admin
 * 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");//你要压缩的文件夹      和  压缩后的文件
             }catch (Exception ex) {
                 ex.printStackTrace();
             }
        }
}

代码解释:

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

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

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

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

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

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

补充

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

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

/**
 * 解压到指定目录
 * @param zipPath
 * @param descDir
 * @author isea533
 */
 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(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("******************解压完毕********************");
 }

到此这篇关于Java实现把文件压缩成zip文件的示例代码的文章就介绍到这了,更多相关Java文件压缩成zip内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java解压缩zip - 解压缩多个文件或文件夹实例

    Java解压缩zip - 多个文件(包括文件夹),具体如下: 对多个文件和文件夹进行压缩,对复杂的文件目录进行解压. 压缩方法使用的是可变参数,可以压缩1到多个文件..可以写数组的方式或者一个个写到参数列表里面... ZipFiles(zip,"abc",new File("d:/English"),new File("d:/发放数据.xls")); 测试文件目录结构: 测试的压缩内容:English文件夹和同级的两个excel文件 File[]

  • java实现文件压缩成zip的工具类

    最近碰到个需要下载zip压缩包的需求,于是我在网上找了下别人写好的zip工具类.但找了好多篇博客,总是发现有bug.因此就自己来写了个工具类. 这个工具类的功能为: (1)可以压缩文件,也可以压缩文件夹 (2)同时支持压缩多级文件夹,工具内部做了递归处理 (3)碰到空的文件夹,也可以压缩 (4)可以选择是否保留原来的目录结构,如果不保留,所有文件跑压缩包根目录去了,且空文件夹直接舍弃.注意:如果不保留文件原来目录结构,在碰到文件名相同的文件时,会压缩失败. (5)代码中提供了2个压缩文件的方法,

  • 用Java进行zip文件压缩与解压缩

    可能存在的业务情况: 1.用户上传了压缩包,需校验压缩包中的文件是否合格. 2.用户上传压缩包,对压缩包中的文件进行批量水印处理 解决思路: 1.读取原压缩包文件,解压缩至临时目录 2.对临时目录中的解压缩文件进行校验/水印处理 3.对临时目录中处理过的文件进行压缩 4.删除临时目录及其下的文件 需要参考前面的校验PDF的帖子 测试结果如下: 测试代码: @Test public void testZip() { String filePath = "D:\\pdfTest\\合格压缩文件.zi

  • Java实现将文件或者文件夹压缩成zip的详细代码

    最近碰到个需要下载zip压缩包的需求,于是我在网上找了下别人写好的zip工具类.但找了好多篇博客,总是发现有bug.因此就自己来写了个工具类.         这个工具类的功能为: (1)可以压缩文件,也可以压缩文件夹 (2)同时支持压缩多级文件夹,工具内部做了递归处理 (3)碰到空的文件夹,也可以压缩 (4)可以选择是否保留原来的目录结构,如果不保留,所有文件跑压缩包根目录去了,且空文件夹直接舍弃.注意:如果不保留文件原来目录结构,在碰到文件名相同的文件时,会压缩失败. (5)代码中提供了2个

  • Java 压缩图片并打包成ZIP文件的示例

    JAVA 获取网络图片或本地图片压缩后打成ZIP,但是获取网络流存在问题:每次获取图片流的大小不一样(图片不完整),以致无法构建图片进行压缩? /*  释以下代码:即可获取完整图片流网络不稳定情况且网络流是顺序读取,所以获得前部份流,不需要关闭连接,只需要将用完的流关闭即可  */   finally{       if(httpCon != null)       httpCon.disconnect();   }   package com.sunshine.monitor.comm.uti

  • Java压缩文件ZIP实例代码

    提示:java.util.zipoutputstream java API压缩为zip文件 代码: 复制代码 代码如下: package com.gaoqi.test;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.util.zip.ZipEntry;import java.util.zip.ZipOu

  • java 压缩和解压缩Zip、Jar、Gzip文件实例代码

    我们经常会使用WinZIP等压缩软件将文件进行压缩以方便传输.在java里面也提供了将文件进行压缩以减少传输时的数据量的类,可以很方便的将文件压缩成ZIP.JAR.GZIP等形式,GZIP主要是在Linux系统下的压缩文件. 下面主要讲的就是ZIP形式的压缩文件,而JAR.GZIP形式的压缩文件也是类似的用法. ZIP是一种很常见的压缩形式,在java中要实现ZIP的压缩主要用到的是java.util.zip这个包里面的类.主要有ZipFile. ZipOutputStream.ZipInput

  • Java实现把文件及文件夹压缩成zip

    最近碰到个需要下载zip压缩包的需求,于是我在网上找了下别人写好的zip工具类.但找了好多篇博客,总是发现有bug.因此就自己来写了个工具类. 这个工具类的功能为: (1)可以压缩文件,也可以压缩文件夹 (2)同时支持压缩多级文件夹,工具内部做了递归处理 (3)碰到空的文件夹,也可以压缩 (4)可以选择是否保留原来的目录结构,如果不保留,所有文件跑压缩包根目录去了,且空文件夹直接舍弃.注意:如果不保留文件原来目录结构,在碰到文件名相同的文件时,会压缩失败. (5)代码中提供了2个压缩文件的方法,

  • 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 * 作者:FH Admin * from:fhadmin.cn */ public class Fi

  • java动态导出excel压缩成zip下载的方法

    本文实例为大家分享了java动态导出excel压缩成zip下载的具体代码,供大家参考,具体内容如下 package pack.java.io.demo; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.text.Simpl

  • PHP实现将多个文件压缩成zip格式并下载到本地的方法示例

    本文实例讲述了PHP实现将多个文件压缩成zip格式并下载到本地的方法.分享给大家供大家参考,具体如下: 废话不多说,直接上代码 //这里需要注意该目录是否存在,并且有创建的权限 $zipname = 'path/test.zip' //这是要打包的文件地址数组 $files = array("mypath/test1.txt","mypath/test2.pdf"); $zip = new ZipArchive(); $res = $zip->open($zi

  • Vue webpack 项目自动打包压缩成zip文件的方法

    这段时间用 Vue2.0 开发项目,每次打包都会用到 npm run build 命令,但是每次部署时给后端发包都要手动zip压缩,这样一两次还行,但遇到项目板块测试和临时加急功能测试的时候,一天可能就要打包好多次,这就很烦了.所以索性在执行 npm run build 命令时就直接打包成zip文件,方便省事! 1.插件装备 webpack插件:filemanager-webpack-plugin,该插件可执行打包,复制,移动,删除文件以及新文件夹在build之前及之后创建. 安装: npm i

  • 将文件夹压缩成zip文件的php代码

    1.请先下载我准备好的zip.php工具类,下载后解压,将里面的文件放入对应的目录中,我是放在虚拟目录下的include文件夹中. 2.在你的php文件中加入下面代码即可 复制代码 代码如下: require_once "./include/zip.php"; $zip = new PHPZip(); //$zip -> createZip("要压缩的文件夹目录地址", "压缩后的文件名.zip"); //只生成不自动下载 $zip -&g

  • java后台批量下载文件并压缩成zip下载的方法

    本文实例为大家分享了java后台批量下载文件并压缩成zip下载的具体代码,供大家参考,具体内容如下 因项目需要,将服务器上的图片文件压缩打包zip,下载到本地桌面. 首先,前端js: function doQueryPic() { var picsDate = $("#picsDate").val(); var piceDate = $("#piceDate").val(); var picInst = $("#pic_inst").combot

  • Python3实现将文件归档到zip文件及从zip文件中读取数据的方法

    本文实例讲述了Python3实现将文件归档到zip文件及从zip文件中读取数据的方法.分享给大家供大家参考.具体实现方法如下: ''''' Created on Dec 24, 2012 将文件归档到zip文件,并从zip文件中读取数据 @author: liury_lab ''' # 压缩成zip文件 from zipfile import * #@UnusedWildImport import os my_dir = 'd:/中华十大名帖/' myzip = ZipFile('d:/中华十大

随机推荐