本文实例为大家分享了Java压缩解压缩工具类的具体代码,供大家参考,具体内容如下
package com.wdy.tools.utils.pressuitl; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; import java.util.zip.ZipInputStream; import java.util.zip.ZipOutputStream; import org.apache.commons.logging.Log; import com.wdy.tools.utils.LogUtil; /** * 压缩/解压缩工具类(zip格式) * * @author wdy * @date 2016-08-23 */ public class PressUtil { private static final Log log = LogUtil.getLog(PressUtil.class); public static void main(String[] args) { // PressUtil.ZipMultiFile("d:\\nwp_trans\\nwp_h\\", "d:\\nwp_trans\\nwp_h\\wdy.zip"); String sourceFilePath = "d:\\nwp_trans\\nwp_h\\"; String zipFilePath = "d:\\nwp_trans\\nwp_h\\"; String fileName = "wdy"; boolean flag = PressUtil.fileToZip(sourceFilePath, zipFilePath, fileName); if(flag){ log.info("文件打包成功!"); }else{ log.info("文件打包失败!"); } } /** * 将存放在sourceFilePath目录下的源文件,打包成fileName名称的zip文件,并存放到zipFilePath路径下 * @param sourceFilePath :待压缩的文件路径 * @param zipFilePath :压缩后存放路径 * @param fileName :压缩后文件的名称(不包括扩展名) * @return */ @SuppressWarnings("resource") public static boolean fileToZip(String sourceFilePath,String zipFilePath,String fileName){ boolean flag = false; File sourceFile = new File(sourceFilePath); FileInputStream fis = null; BufferedInputStream bis = null; FileOutputStream fos = null; ZipOutputStream zos = null; if(sourceFile.exists() == false){ log.info("待压缩的文件目录:"+sourceFilePath+"不存在."); }else{ try { File zipFile = new File(zipFilePath + "/" + fileName +".zip"); if(zipFile.exists()){ log.info(zipFilePath + "目录下存在名字为:" + fileName +".zip" +"打包文件."); }else{ File[] sourceFiles = sourceFile.listFiles(); if(null == sourceFiles || sourceFiles.length<1){ log.info("待压缩的文件目录:" + sourceFilePath + "里面不存在文件,无需压缩."); }else{ fos = new FileOutputStream(zipFile); zos = new ZipOutputStream(new BufferedOutputStream(fos)); byte[] bufs = new byte[1024*10]; for(int i=0;i
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。