解决方案 »

  1.   

    你的代码太乱...以下是我写的zip打包,删除功能:package org.platform.commons.zip;import java.io.File;
    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.   


    2楼我是解压完了 无法删除 你看说代码乱,完了给我来个 压缩zip 我是解压,你咋看的 
      

  3.   

    解决了 搜了好几久 都没写解决原因 中国人,废话太多,实际太少 zip.close();