package org;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
import java.util.zip.ZipOutputStream;
public class Zip {
public static void zip(String zipFileName, String inputFile)
throws Exception {
File f = new File(inputFile);
ZipOutputStream out = new ZipOutputStream(new FileOutputStream(
zipFileName));
zip(out, f, null);
System.out.println("zip done");
out.close();
}
private static void zip(ZipOutputStream out, File f, String base)
throws Exception {
System.out.println("zipping " + f.getAbsolutePath());
if (f != null && f.isDirectory()) {
File[] fc = f.listFiles();
if (base != null)
out.putNextEntry(new ZipEntry(base + "/"));
base = base == null ? "" : base + "/";
for (int i = 0; i < fc.length; i++) {
zip(out, fc[i], base + fc[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 unzip(String zipFileName, String outputDirectory)
throws Exception {
ZipInputStream in = new ZipInputStream(new FileInputStream(zipFileName));
ZipEntry z;
while ((z = in.getNextEntry()) != null) {
String name = z.getName();
if (z.isDirectory()) {
name = name.substring(0, name.length() - 1);
File f = new File(outputDirectory + File.separator + name);
f.mkdir();
System.out.println("MD " + outputDirectory + File.separator
+ name);
} else {
System.out.println("unziping " + z.getName());
File f = new File(outputDirectory + File.separator + name);
f.createNewFile();
FileOutputStream out = new FileOutputStream(f);
int b;
while ((b = in.read()) != -1)
out.write(b);
out.close();
}
}
in.close();
}
public void deleteFolder(File dir) {
File filelist[] = dir.listFiles();
int listlen = filelist.length;
for (int i = 0; i < listlen; i++) {
if (filelist[i].isDirectory()) {
deleteFolder(filelist[i]);
} else {
filelist[i].delete();
}
}
dir.delete();
}
/**
* Test ZIP/UNZIP
* @param args
*/
public static void main(String[] args) {
try {
Zip t = new Zip();
t.zip("c:\\test.zip","c:\\test"); //在c盘要自己提前建立test文件夹
// t.unzip("c:\\test.zip","c:\\test");
File file = new File("c:\\test");
t.deleteFolder(file);
} catch (Exception e) {
e.printStackTrace(System.out);
}
}
}
分享到:
相关推荐
关于Java实现文件的zip的解压缩 文本文档 虽然不多
Java工具类ZIP解压缩Java工具类ZIP解压缩Java工具类ZIP解压缩
java 实现压缩与解压缩ZIP .docjava 实现压缩与解压缩ZIP .docjava 实现压缩与解压缩ZIP .docjava 实现压缩与解压缩ZIP .doc
java语言操作解压缩文件。 /** * 数据压缩 * * @param data * @return * @throws Exception */ public static byte[] compress(byte[] data) throws Exception { ByteArrayInputStream bais = new ...
JAVA文件压缩与解压缩实践(源代码).zipJAVA文件压缩与解压缩实践(源代码).zipJAVA文件压缩与解压缩实践(源代码).zipJAVA文件压缩与解压缩实践(源代码).zipJAVA文件压缩与解压缩实践(源代码).zipJAVA文件压缩与解压缩...
java 解压缩zip文件 java 解压缩zip文件 java 解压缩zip文件
JAVA文件压缩与解压缩实践,java解压缩zip文件,Java源码
上传的主要介绍的是关于JAVA程序设计实现zip的功能,希望大家借鉴一下,对自己的学习有所帮助
java zip文件的压缩与解压缩,支持中文 使用apache的工具包可设置字符编码
Java实现压缩与解压缩功能源码,简单易用。直接嵌套在你需要的地方即可。
java zip压缩和解压缩文件,附带ant.jar
java实现压缩与解压缩源码,demo 分享。 java实现压缩与解压缩源码。 java实现压缩与解压缩源码 java
java毕业设计——java文件压缩与解压缩实践设计与开发(源代码+论文).zip java毕业设计——java文件压缩与解压缩实践设计与开发(源代码+论文).zip java毕业设计——java文件压缩与解压缩实践设计与开发(源代码+论文)....
Java实现压缩解压缩文件和文件夹(附源码) zip unzip 压缩 解压缩
Java实现压缩与解压缩ZIP import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream;...
java解压缩zip代码与用到的jar包
java 中压缩ZIP格式源码,仅供参考。
JAVA文件压缩与解压缩实践(源代码+论文)
java实现的解压与压缩的类 其中有zip和rar类型的 还包括了所需的架包