whycxzp
2025-05-09 f92783da5430037bf80cf28a5cf7091cdecefbb7
src/main/java/com/whyc/util/FileUtil.java
@@ -9,10 +9,13 @@
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.net.URLEncoder;
import java.nio.file.Files;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
public class FileUtil {
    public static List<String> getStaticFilePath(File file, List<String> list){
@@ -167,14 +170,19 @@
        List<String>  fileList = (List<String>) resList.get(1);
        boolean existCompressedFile = false;
        int checkDecompress = 0;
        //遍历文件列表,判断是否存在压缩文件
        for(String tempFileName:fileList){
            if(tempFileName.endsWith("zip") || tempFileName.endsWith("rar")){
                //存在压缩文件,解压一次
                decompressOne(tempFileName);
                File file = new File(tempFileName);
                file.delete();
                //解除文件占用并删除文件
                //boolean delete = file.delete();
                Files.delete(file.toPath());
                existCompressedFile = true;
            }
        }
        //如果存在压缩文件并已解压,则需要检查一次是否还有压缩文件
        if(existCompressedFile){
            checkDecompress ++;
        }
@@ -254,8 +262,11 @@
                outputStream.write(buffer, 0, bytesRead);
            }
            //关流
            outputStream.close();
        }
        //关流
        ais.close();
    }
    private static void decompressRar(File file, String outputFolder) throws IOException, InterruptedException {
@@ -265,6 +276,21 @@
        proc.waitFor();
    }
    //读取文件夹下的所有文件(不读取文件夹内的文件)
    public static List getFileNameWithOutDirectory(String filePath) {
        File folder = new File(filePath); // 文件夹路径
        List nameList=new ArrayList();
        File[] listOfFiles = folder.listFiles();
        if (listOfFiles != null) {
            for (File file : listOfFiles) {
                if (file.isFile()) {
                    nameList.add(file.getName());
                }
            }
        }
        return nameList;
    }
    //private static void decompressRar(File file, String outputFolder) throws IOException, RarException {
    //    Archive archive = new Archive(file);
    //    FileHeader fileHeader = archive.nextFileHeader();