whycxzp
2024-01-03 66db1d15cf5d4b51a346a42b66f0505bd7f31ce0
src/main/java/com/whyc/service/ZipAndRarService.java
@@ -1,13 +1,14 @@
package com.whyc.service;
import com.github.junrar.exception.RarException;
import com.whyc.dto.FileDirPath;
import com.whyc.dto.Response;
import com.whyc.pojo.FileMessage;
import com.whyc.util.FileUtil;
import com.whyc.util.ZipAndRarUtil;
import org.apache.commons.compress.archivers.ArchiveException;
import org.springframework.stereotype.Service;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.LinkedList;
@@ -34,21 +35,19 @@
        return new Response().setII(1,list!=null,list,"压缩文件信息");
    }
    public Response decompress(String compressedFileUrl) {
    public Response decompress(String compressedFileUrl) throws ArchiveException, IOException, RarException {
        String fileSuffix = (compressedFileUrl.substring(compressedFileUrl.lastIndexOf(".")+1));
        if(compressedFileUrl.endsWith("zip")) {
        }
        else if(compressedFileUrl.endsWith("rar")){
        List<String> resList = new LinkedList<>();
        if(fileSuffix.equals("zip")||fileSuffix.equals("rar")) {
            List<String> decompressList = FileUtil.decompress(compressedFileUrl);
            for (String decompress : decompressList) {
                resList.add(decompress.substring(decompress.indexOf("doc_file")));
            }
        }else{
            return new Response().set(1,false,fileSuffix+"类型压缩包暂不支持解压");
        }
        File decompressedPath = new File("");
        LinkedList fileList = new LinkedList<String>();
        FileUtil.getStaticFilePath(decompressedPath,fileList);
        return new Response().setII(1,true,fileList,null);
        return new Response().setII(1,true, resList,null);
    }
}