Quellcode durchsuchen

机构的删除

vor 5 Jahren
Ursprung
Commit
72b8070d4b

+ 6 - 0
bms/pom.xml

@@ -76,6 +76,12 @@
             <artifactId>freemarker</artifactId>
             <version>2.3.23</version>
         </dependency>
+        <dependency>
+            <groupId>net.lingala.zip4j</groupId>
+            <artifactId>zip4j</artifactId>
+            <version>1.3.2</version>
+            <scope>compile</scope>
+        </dependency>
     </dependencies>
 
     <build>

+ 1 - 1
bms/src/main/java/com/hssx/bms/service/impl/InstitutionalPicServiceImpl.java

@@ -58,7 +58,7 @@ public class InstitutionalPicServiceImpl extends ServiceImpl<InstitutionalPicMap
                         e.printStackTrace();
                     }
                 }
-                institutionalPicMapper.updateById(pic);
+                institutionalPicMapper.insert(pic);
             }
         }
         return msg;

+ 108 - 36
bms/src/main/java/com/hssx/bms/until/MD5Util.java

@@ -1,12 +1,18 @@
 package com.hssx.bms.until;
 
+import net.lingala.zip4j.core.ZipFile;
+import net.lingala.zip4j.exception.ZipException;
+import net.lingala.zip4j.model.FileHeader;
+import net.lingala.zip4j.model.ZipParameters;
+import net.lingala.zip4j.util.Zip4jConstants;
 import org.springframework.util.DigestUtils;
 
 import java.io.*;
 import java.text.ParseException;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-import java.util.zip.ZipOutputStream;
+import java.util.ArrayList;
+import java.util.List;
+
+import net.lingala.zip4j.*;
 
 /**
  * Author: 吴涛涛 cuiyi@itany.com
@@ -20,13 +26,14 @@ public class MD5Util {
         return DigestUtils.md5DigestAsHex(password.getBytes());
     }
 
-    public static void main(String[] args) throws ParseException {
-        String a = "1.0.1";
-        String b = "1.0.2";
-        int i = b.compareTo(a);
-        int i1 = a.compareTo(b);
-        System.out.println(i+":"+i1);
-        System.out.println(MD5Util.getPassword("000000"));
+    public static void main(String[] args) throws ParseException, ZipException {
+        unZip4jDemo();
+//        String a = "1.0.1";
+//        String b = "1.0.2";
+//        int i = b.compareTo(a);
+//        int i1 = a.compareTo(b);
+//        System.out.println(i+":"+i1);
+//        System.out.println(MD5Util.getPassword("000000"));
 //        zip4jDemo();
 
 //        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
@@ -106,31 +113,96 @@ public class MD5Util {
 //        }
 //    }
 //
-//    public static void zip4jDemo(){
+    public static void zip4jDemo(){
 //// 生成的压缩文件
-//        ZipFile zipFile = null;
-//        try {
-//            zipFile = new ZipFile("D:\\aa.zip");
-//
-//        ZipParameters parameters = new ZipParameters();
-//        // 压缩方式
-//        parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
-//        // 压缩级别
-//        parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
-//        // 要打包的文件夹
-//        File currentFile = new File("D:\\666");
-//        File[] fs = currentFile.listFiles();
-//        // 遍历test文件夹下所有的文件、文件夹
-//        for (File f : fs) {
-//            if (f.isDirectory()) {
-//                zipFile.addFolder(f.getPath(), parameters);
-//            } else {
-//                zipFile.addFile(f, parameters);
-//            }
-//        }
-//            zipFile.addFolder("D:\\666", parameters);
-//        } catch (Exception e) {
-//            e.printStackTrace();
-//        }
-//    }
+        ZipFile zipFile = null;
+        try {
+            zipFile = new ZipFile("D:\\aa.zip");
+
+        ZipParameters parameters = new ZipParameters();
+        // 压缩方式
+        parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
+        // 压缩级别
+        parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
+        // 要打包的文件夹
+        File currentFile = new File("D:\\666");
+        File[] fs = currentFile.listFiles();
+        // 遍历test文件夹下所有的文件、文件夹
+        for (File f : fs) {
+            if (f.isDirectory()) {
+                zipFile.addFolder(f.getPath(), parameters);
+            } else {
+                zipFile.addFile(f, parameters);
+            }
+        }
+            zipFile.addFolder("D:\\666", parameters);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+    //解压demo
+    public static void unZip4jDemo() throws ZipException {
+        ZipFile zipFile = null;
+        zipFile = new ZipFile("D:\\aa.zip");
+        File[] unzip = unzip("D:\\aa.zip", "D:\\testaaa");
+        for (File file : unzip) {
+            System.out.println(file.getName());
+        }
+
+    }
+
+    public static File [] unzip(String zip, String dest) throws ZipException {
+        ZipFile zipFile = new ZipFile(zip);
+        return unzip(zipFile.toString(), dest);
+    }
+
+    /**
+     * 使用给定密码解压指定的ZIP压缩文件到当前目录
+     * @param zip 指定的ZIP压缩文件
+     * @param passwd ZIP文件的密码
+     * @return  解压后文件数组
+     * @throws ZipException 压缩文件有损坏或者解压缩失败抛出
+     */
+    public static File [] unzip(String zip) throws ZipException {
+        File zipFile = new File(zip);
+        File parentDir = zipFile.getParentFile();
+        return unzip(zipFile.toString(), parentDir.getAbsolutePath());
+    }
+
+    /**
+     * 使用给定密码解压指定的ZIP压缩文件到指定目录
+     * <p>
+     * 如果指定目录不存在,可以自动创建,不合法的路径将导致异常被抛出
+     * @param zip 指定的ZIP压缩文件
+     * @param dest 解压目录
+     * @param passwd ZIP文件的密码
+     * @return  解压后文件数组
+     * @throws ZipException 压缩文件有损坏或者解压缩失败抛出
+     */
+    public static File [] unzip(File zipFile, String dest, String passwd) throws ZipException {
+        ZipFile zFile = new ZipFile(zipFile);
+        zFile.setFileNameCharset("GBK");
+        if (!zFile.isValidZipFile()) {
+            throw new ZipException("压缩文件不合法,可能被损坏.");
+        }
+        File destDir = new File(dest);
+        if (destDir.isDirectory() && !destDir.exists()) {
+            destDir.mkdir();
+        }
+        if (zFile.isEncrypted()) {
+            zFile.setPassword(passwd.toCharArray());
+        }
+        zFile.extractAll(dest);
+
+        List<FileHeader> headerList = zFile.getFileHeaders();
+        List<File> extractedFileList = new ArrayList<File>();
+        for(FileHeader fileHeader : headerList) {
+            if (!fileHeader.isDirectory()) {
+                extractedFileList.add(new File(destDir,fileHeader.getFileName()));
+            }
+        }
+        File [] extractedFiles = new File[extractedFileList.size()];
+        extractedFileList.toArray(extractedFiles);
+        return extractedFiles;
+    }
 }

+ 52 - 0
bms/src/main/java/com/hssx/bms/until/Zip4jUtil.java

@@ -0,0 +1,52 @@
+package com.hssx.bms.until;
+
+import net.lingala.zip4j.core.ZipFile;
+import net.lingala.zip4j.exception.ZipException;
+import net.lingala.zip4j.model.FileHeader;
+
+import java.util.List;
+import java.util.Scanner;
+
+/**
+ * Author: 吴涛涛 cuiyi@itany.com
+ * Date : 2019 - 10 - 18 11:15
+ * Description:<描述>
+ * Version: 1.0
+ */
+public class Zip4jUtil {
+    public static void main(String[] args) throws ZipException {
+        Unzip4j1("D:\\666.zip","D:\\666");
+    }
+
+    // 解压方法2
+    public static void Unzip4j1(String zipFile,String folderPath) throws ZipException {
+        long startTime = System.currentTimeMillis();
+        ZipFile zipFile2 = new ZipFile(zipFile);
+        //设置编码格式
+        zipFile2.setFileNameCharset("GBK");
+        if (!zipFile2.isValidZipFile()) {
+            throw new ZipException("文件不合法或不存在");
+        }
+        //检查是否需要密码
+//        checkEncrypted(zipFile2);
+        List<FileHeader> fileHeaderList = zipFile2.getFileHeaders();
+        for (int i = 0; i < fileHeaderList.size(); i++) {
+            FileHeader fileHeader = fileHeaderList.get(i);
+            zipFile2.extractFile(fileHeader, folderPath);
+        }
+        System.out.println("解压成功!");
+        long endTime = System.currentTimeMillis();
+        System.out.println("耗时:" + (endTime - startTime) + "ms");
+    }
+
+    //检测密码
+    private void checkEncrypted(ZipFile zip) throws ZipException {
+        Scanner in=new Scanner(System.in);
+        if (zip.isEncrypted()) {
+            System.out.println("文件"+zip.getFile().getName()+"有密码!");
+            System.out.println("请输入密码:");
+            zip.setPassword(in.next().trim());
+        }
+        in.close();
+    }
+}

+ 7 - 0
pom.xml

@@ -52,5 +52,12 @@
             <artifactId>fastjson</artifactId>
             <version>1.2.7</version>
         </dependency>
+
+        <!--zip文件处理依赖-->
+        <dependency>
+            <groupId>net.lingala.zip4j</groupId>
+            <artifactId>zip4j</artifactId>
+            <version>1.3.2</version>
+        </dependency>
     </dependencies>
 </project>