java压缩
来源:互联网 发布:saber软件正版价格 编辑:程序博客网 时间:2024/05/21 13:54
package utils;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.util.Enumeration; import org.apache.tools.zip.ZipEntry; import org.apache.tools.zip.ZipFile; import org.apache.tools.zip.ZipOutputStream; public class ZipUtil { private static final int BUFFEREDSIZE = 1024; public void zip(String zipFileName, String filePath, boolean isDelete) throws Exception { zip(zipFileName, new File(filePath), isDelete); } public void zip(String zipFileName, File inputFile, boolean isDelete) throws Exception { ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipFileName)); if (!inputFile.exists()) { throw new FileNotFoundException("在指定路径未找到需要压缩的文件!"); } zip(out, inputFile, "", isDelete); out.close(); } private void zip(ZipOutputStream out, File inputFile, String base, boolean isDelete) throws Exception { if (inputFile.isDirectory()) { // 如果是目录 File[] inputFiles = inputFile.listFiles(); out.putNextEntry(new ZipEntry(base + "/")); base = base.length() == 0 ? "" : base + "/"; for (int i = 0; i < inputFiles.length; i++) { zip(out, inputFiles[i], base + inputFiles[i].getName(), isDelete); } } else { // 如果是文件 if (base.length() > 0) { out.putNextEntry(new ZipEntry(base)); } else { out.putNextEntry(new ZipEntry(inputFile.getName())); } FileInputStream in = new FileInputStream(inputFile); try { int len; byte[] buff = new byte[BUFFEREDSIZE]; while ((len = in.read(buff)) != -1) { out.write(buff, 0, len); } } catch (IOException e) { throw e; } finally { in.close(); } } if (isDelete) { inputFile.delete(); } } }
0 0
- java 压缩和解压缩
- java 压缩和解压缩
- Java压缩和解压缩
- Java压缩和解压缩
- Java 压缩和解压缩
- JAVA压缩和解压缩
- java 压缩
- java压缩
- java压缩
- java 压缩
- Java 压缩数据流Java 压缩数据流
- java解rar压缩
- Java Zip压缩
- java压缩应用
- java的压缩程序
- Java中的文件压缩
- java压缩文件夹
- java 压缩zip
- c语言简单文件加密
- LeetCode 127 Word Ladder
- 【C++竞赛 A】xxx的项链
- cocoapods升级1.1.1
- C/C++ 离高考还有几天
- java压缩
- 什么是闭包
- 对自己无语的_数据结构-二叉树
- java与mysql的简单连接与编译
- VxWorks学习之路之VxWorks简介
- HTTP初步
- spark 体系架构
- Request.Form获取HTML页面内容
- Hadoop 3.0.0-α1:common:overview