java上传和解压任意压缩包

java上传zip文件并解压读取_java上传压缩包解压_梓隽的博客-CSDN博客

添加依赖


            com.github.junrar
            junrar
            7.4.1
        

        
            net.lingala
            zip4j
            1.3.3
        
@PostMapping(value = "/import", headers = "content-type=multipart/*")

    public Result importSqlLite(@RequestParam("file") MultipartFile file) throws IOException {
        String path = "D:/新建文件夹1/";
        File file1 = new File(path);
        if (!file1.exists()){
            file1.mkdirs();
        }

        File newFile = new File(path + file.getOriginalFilename());
        //通过CommonsMultipartFile的方法直接写文件(注意这个时候)

        file.transferTo(newFile);
        return Result.ok();
    }


    @PostMapping("chaRu1")
    public Result chaRu1() {

        //解压路径
        Uncompress("D:\\新建文件夹1\\[121824]045西安研发部刘港【北京】离职交接审批流程2023年7月20日.zip");
        return Result.ok();

    }

    public void Uncompress (String source) {
        String dest = "D:\\新建文件夹2";
        List picPaths = new ArrayList<>();
        try {
            File zipFile = new File(source);
            ZipFile zFile = new ZipFile(zipFile);// 首先创建ZipFile指向磁盘上的.zip文件

            zFile.setFileNameCharset("UTF-8");

            File destDir = new File(dest);// 解压目录
            if (zFile.isEncrypted()) {
                zFile.setPassword("6666");  // 设置密码
            }
            zFile.extractAll(dest);      // 将文件抽出到解压目录(解压)

            List headerList = zFile.getFileHeaders();
            List extractedFileList = new ArrayList();
            for (FileHeader fileHeader : headerList) {
                if (!fileHeader.isDirectory()) {
                    extractedFileList.add(new File(destDir, fileHeader.getFileName()));
                }
            }
            File[] extractedFiles = new File[extractedFileList.size()];
            extractedFileList.toArray(extractedFiles);
            for (File f : extractedFileList) {
                System.out.println(f.getAbsolutePath() + "....");
            }

        } catch (ZipException e) {
        }
    }

java上传和解压任意压缩包_第1张图片

 会出现中文乱码,所以设置字符集为UTF-8

java上传和解压任意压缩包_第2张图片

 

你可能感兴趣的:(java,开发语言)