lxw
2022-08-03 e986c87fdd7a210e5974d662836beaae0a56bd85
产品下载后需要删除文件夹和压缩包
2个文件已修改
40 ■■■■■ 已修改文件
src/main/java/com/whyc/dto/ZipUtils.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/ProductBomService.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/dto/ZipUtils.java
@@ -4,6 +4,9 @@
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;
import java.util.zip.ZipEntry;
@@ -135,11 +138,39 @@
            }
        }
    }
    /**
     * 指定文件夹目录删除文件夹*/
    public static void delDir(String path) {
        try {
            Path dirPath = Paths.get(path);
            if (Files.exists(dirPath) && Files.isDirectory(dirPath)) {
                File dirPathFile = dirPath.toFile();
                if (null == dirPathFile) {
                    return;
                }
                File[] files = dirPathFile.listFiles();
                if (null == files) {
                    return;
                }
                for (File file : files) {
                    if(file.isDirectory()){  //先判断是不是文件夹
                        delDir(file.getPath());
                    }
                    else{   //这样就覆盖到了删除失效的软链接情况
                        file.delete();
                    }
                }
                Files.delete(dirPath);
            }
        } catch (Exception e) {
            System.out.println("删除目录失败,path = {}"+path);
        }
    }
    
    public static void main(String[] args) throws Exception {
        /** 测试压缩方法1  */
        FileOutputStream fos1 = new FileOutputStream(new File("D:\\IDEAWorkSpace\\CadDrawManager\\target\\face.zip"));
        ZipUtils.toZip("D:\\IDEAWorkSpace\\CadDrawManager\\target\\face", fos1,true);
        //FileOutputStream fos1 = new FileOutputStream(new File("D:\\IDEAWorkSpace\\CadDrawManager\\target\\face.zip"));
        //ZipUtils.toZip("D:\\IDEAWorkSpace\\CadDrawManager\\target\\face", fos1,true);
        
        /** 测试压缩方法2  */
        /*List<File> fileList = new ArrayList<>();
@@ -147,5 +178,6 @@
        fileList.add(new File("D:/Java/jdk1.7.0_45_64bit/bin/java.exe"));
        FileOutputStream fos2 = new FileOutputStream(new File("c:/mytest02.zip"));
        ZipUtils.toZip(fileList, fos2);*/
        delDir("D:\\IDEAWorkSpace\\CadDrawManager\\target\\downLoad");
    }
}
src/main/java/com/whyc/service/ProductBomService.java
@@ -81,7 +81,8 @@
            }
            in.close();
            out.close();
            file.delete();
            file.delete();//删除压缩文件
            ZipUtils.delDir(rootFace);//删除文件夹
        } catch (FileNotFoundException | UnsupportedEncodingException e) {
            e.printStackTrace();
        } catch (IOException e) {
@@ -328,6 +329,7 @@
            in.close();
            out.close();
            file.delete();
            ZipUtils.delDir(rootFace);
        } catch (FileNotFoundException | UnsupportedEncodingException e) {
            e.printStackTrace();
        } catch (IOException e) {