博舍

SpringBoot Java 将目标文件压缩成zip文件 Java如何生成zip文件

SpringBoot Java 将目标文件压缩成zip文件

最近整理出来的代码,以前好像做过将一堆二维码图片打包成zip的功能,突然看到代码,以前用Struts写的,换springboot框架后,我还是看看能不能整合一下以前那乱糟糟的代码

各种打包方式,文件夹下内容全部打包,文件打包,流打包,打包后以流的形式输出(下载zip)等等

直接上代码

packagecom.modou.tools.utils;importjava.io.BufferedInputStream;importjava.io.BufferedOutputStream;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.InputStream;importjava.io.OutputStream;importjava.util.List;importjava.util.zip.ZipEntry;importjava.util.zip.ZipOutputStream;importjavax.servlet.http.HttpServletResponse;importorg.springframework.stereotype.Component;importcom.modou.tools.constant.ToolsExceptionConstant;importcom.modou.tools.entity.ZipStreamEntity;importcom.modou.tools.myexception.ToolsException;/***zip工具类**@authorcdj*@date2018年8月24日上午10:03:15*/@ComponentpublicclassZipUtils{/***将存放在sourceFilePath目录下的源文件,打包成fileName名称的zip文件,并存放到zipFilePath路径下**@paramsourceFilePath*:待压缩的文件路径*@paramzipFilePath*:压缩后存放路径*@paramfileName*:压缩后文件的名称*@return*/publicstaticbooleanfolderToZip(StringsourceFilePath,StringzipFilePath,StringfileName){booleanflag=false;FilesourceFile=newFile(sourceFilePath);FileInputStreamfis=null;BufferedInputStreambis=null;FileOutputStreamfos=null;ZipOutputStreamzos=null;if(sourceFile.exists()==false){System.out.println("待压缩的文件目录:"+sourceFilePath+"不存在.");thrownewToolsException(ToolsExceptionConstant.NOTEXSITERROR_CODE,String.format(ToolsExceptionConstant.NOTEXSITERROR_MSG,sourceFilePath));}else{try{FilezipFile=newFile(zipFilePath+"/"+fileName+".zip");if(zipFile.exists()){System.out.println(zipFilePath+"目录下存在名字为:"+fileName+".zip"+"打包文件.");thrownewToolsException(ToolsExceptionConstant.EXSITERROR_CODE,String.format(ToolsExceptionConstant.EXSITERROR_MSG,zipFilePath,fileName+".zip"));}else{File[]sourceFiles=sourceFile.listFiles();if(null==sourceFiles||sourceFiles.length

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

上一篇

下一篇