java将文件打包成ZIP压缩文件的工具类实例
2012-03-01 18:51
926 查看
package com.lanp; 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.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; /** * 将文件打包成ZIP压缩文件 * @author LanP * @since 2012-3-1 15:47 */ public final class FileToZip { private FileToZip() { } /** * 将存放在sourceFilePath目录下的源文件,打包成fileName名称的ZIP文件,并存放到zipFilePath。 * @param sourceFilePath 待压缩的文件路径 * @param zipFilePath 压缩后存放路径 * @param fileName 压缩后文件的名称 * @return flag */ 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) { System.out.println(">>>>>> 待压缩的文件目录:" + sourceFilePath + " 不存在. <<<<<<"); } else { try { File zipFile = new File(zipFilePath + "/" + fileName + ".zip"); if(zipFile.exists()) { System.out.println(">>>>>> " + zipFilePath + " 目录下存在名字为:" + fileName + ".zip" + " 打包文件. <<<<<<"); } else { File[] sourceFiles = sourceFile.listFiles(); if(null == sourceFiles || sourceFiles.length < 1) { System.out.println(">>>>>> 待压缩的文件目录:" + sourceFilePath + " 里面不存在文件,无需压缩. <<<<<<"); } else { fos = new FileOutputStream(zipFile); zos = new ZipOutputStream(new BufferedOutputStream(fos)); byte[] bufs = new byte[1024*10]; for(int i=0;i<sourceFiles.length;i++) { // 创建ZIP实体,并添加进压缩包 ZipEntry zipEntry = new ZipEntry(sourceFiles[i].getName()); zos.putNextEntry(zipEntry); // 读取待压缩的文件并写进压缩包里 fis = new FileInputStream(sourceFiles[i]); bis = new BufferedInputStream(fis,1024*10); int read = 0; while((read=bis.read(bufs, 0, 1024*10)) != -1) { zos.write(bufs, 0, read); } } flag = true; } } } catch (FileNotFoundException e) { e.printStackTrace(); throw new RuntimeException(e); } catch (IOException e) { e.printStackTrace(); throw new RuntimeException(e); } finally { // 关闭流 try { if(null != bis) bis.close(); if(null != zos) zos.close(); } catch (IOException e) { e.printStackTrace(); throw new RuntimeException(e); } } } return flag; } /** * 将文件打包成ZIP压缩文件,main方法测试 * @param args */ public static void main(String[] args) { String sourceFilePath = "C:\\home\\lp20120301"; String zipFilePath = "C:\\home"; String fileName = "lp20120301"; boolean flag = FileToZip.fileToZip(sourceFilePath, zipFilePath, fileName); if(flag) { System.out.println(">>>>>> 文件打包成功. <<<<<<"); } else { System.out.println(">>>>>> 文件打包失败. <<<<<<"); } } }
OK,TKS!
相关文章推荐
- java将文件打包成ZIP压缩文件的工具类实例
- java将文件打包成ZIP压缩文件的工具类实例
- java将文件打包成ZIP压缩文件的工具类实例
- java将文件打包成ZIP压缩文件的工具类实例
- java将文件打包成ZIP压缩文件的工具类实例
- Java操作zip压缩和解压缩文件工具类
- java实现将ZIP压缩文件解压的工具类
- java写的将文件或文件夹打包成zip的工具类
- Java建立Zip压缩文件的代码实例
- Java操作zip压缩和解压缩文件工具类
- java实现将ZIP压缩文件解压的工具类
- (Java控制台程序版)递归打包整个父文件夹下的文件和子文件夹成压缩文件(*.ZIP)以及打包时常见的文件乱码和文件名乱码以及丢失文件或文件损坏问题解决办法
- Java压缩和解压文件工具类ZipUtil
- Java编写zip压缩文件实例
- java.util.zip压缩打包文件总结一:压缩文件及文件下面的文件夹
- java.util.zip压缩打包文件总结二: ZIP解压技术
- java 压缩和解压缩Zip、Jar、Gzip文件实例代码
- Java压缩文件工具类ZipUtil使用方法代码示例
- java实现文件压缩成zip的工具类
- Java操作zip压缩和解压缩文件工具类