解决方案 »
- eclipse的tomcat装好了,可是在eclipse里点击start tmocat,会出现异常
- struts2报错啊!!!!!!!!!!!
- 高分在线请教大侠:HQL语句如何实现模糊查询对象类型
- WebSphere6.1安装问题
- 求助
- 如何使用jms作为通讯机制实现glassfish集群
- 谁能把这题做出来呀!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- Statement 中的executeUpdate如果执行的是DDL语句出错信息怎么返回?
- 请问如何利用dom解析xml文档,有没有什么例程啊
- jbuild中开发ejb时client程序如何写?
- geoserver学习方法
- 点击链接能自动登录系统
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;public class ZipUtil {
public static void zip(File inputFile, String zipFileName) {
try {
// 创建文件输出对象out,提示:注意中文支持
FileOutputStream out = new FileOutputStream(new String(zipFileName.getBytes("GBK")));
// 將文件輸出ZIP输出流接起来
ZipOutputStream zOut = new ZipOutputStream(out);
//压缩开始
zip(zOut, inputFile, "");
//压缩结束
zOut.close();
} catch (Exception e) {
e.printStackTrace();
} } public static void zip(ZipOutputStream zOut, File file, String base) {
try { // 如果文件句柄是目录
if (file.isDirectory()) {
// 获取目录下的文件
File[] listFiles = file.listFiles();
// 建立ZIP条目
zOut.putNextEntry(new ZipEntry(base + "/"));
base = (base.length() == 0 ? "" : base + "/");
// 遍历目录下文件
for (int i = 0; i < listFiles.length; i++) {
// 递归进入本方法
zip(zOut, listFiles[i], base + listFiles[i].getName());
}
}
// 如果文件句柄是文件
else {
if (base == "") {
base = file.getName();
}
// 填入文件句柄
zOut.putNextEntry(new ZipEntry(base));
// 开始压缩
// 从文件入流读,写入ZIP 出流
writeFile(zOut, file);
} } catch (Exception e) {
e.printStackTrace();
} }
public static void writeFile(ZipOutputStream zOut, File file)
throws IOException {
//开始压缩
FileInputStream in = new FileInputStream(file);
int len;
while ((len = in.read()) != -1){
zOut.write(len);
}
//压缩结束
in.close();
}
public static void deleteZipFile(String filePath) throws IOException {
File file = new File(filePath);
//文件不可以为空
if(file != null){
//根据文件后缀判断是否是zip文件
String fileName = file.getName().toString();
int dot = fileName.lastIndexOf('.');
if ((dot > -1) && (dot < (fileName.length() - 1))) {
String prefix = fileName.substring(dot + 1);
if(prefix.equals("zip")){
file.delete();
}
}
}
} public static void main(String[] args) throws Exception {
//打算生成zip的文件或文件夹
File toZipFile = new File("F:" + File.separator + "testzip");
//生成的目标文件名
String targetFile = "F:" + File.separator+ "testzip.zip";
//生成zip
zip(toZipFile, targetFile);
//线程睡眠5秒
Thread.sleep(5000);
//删除
deleteZipFile(targetFile);
}
}
2楼我是解压完了 无法删除 你看说代码乱,完了给我来个 压缩zip 我是解压,你咋看的