管道基础大数据平台系统开发-【后端】-Server
1
13693261870
2022-11-01 b1bdad2ff512e73a2dd9049f2ccbddd4634969f7
src/main/java/com/lf/server/helper/FileHelper.java
@@ -1,7 +1,16 @@
package com.lf.server.helper;
import com.lf.server.entity.data.MetaFileEntity;
import com.lf.server.service.data.UploaderService;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.text.DecimalFormat;
import java.util.List;
/**
 * 文件帮助类
@@ -13,6 +22,23 @@
    public static final double D1024 = 1024.0;
    public static final double D1050 = 1050.0;
    private final static Log log = LogFactory.getLog(FileHelper.class);
    /**
     * 获取文件名
     *
     * @param file
     * @return
     */
    public static String getFileName(String file) {
        int idx = file.lastIndexOf(File.separator);
        if (idx > -1) {
            return file.substring(idx + 1);
        }
        return "";
    }
    /**
     * 获取文件扩展名
@@ -171,4 +197,83 @@
        return Double.parseDouble(str);
    }
    /**
     * 获取文件 MD5 码
     */
    public static String getFileMd5(String filePath) throws IOException {
        FileInputStream fileStream = new FileInputStream(filePath);
        String md5 = DigestUtils.md5Hex(fileStream);
        fileStream.close();
        return md5;
    }
    /**
     * 删除文件
     */
    public static void deleteFiles(List<MetaFileEntity> list) {
        try {
            for (MetaFileEntity mf : list) {
                File f = new File(mf.getPath());
                if (f.exists()) {
                    f.delete();
                }
            }
        } catch (Exception ex) {
            log.error(ex.getMessage(), ex);
        }
    }
    /**
     * 删除文件夹
     *
     * @param dir 文件夹
     */
    public static void deleteDir(String dir) {
        File file = new File(dir);
        deleteFiles(file);
    }
    /**
     * 级联删除文件
     *
     * @param file 文件
     */
    public static void deleteFiles(File file) {
        if (file == null || !file.exists()) {
            return;
        }
        if (file.isDirectory()) {
            File[] files = file.listFiles();
            for (File f : files) {
                if (f.isDirectory()) {
                    deleteFiles(f);
                } else {
                    f.delete();
                }
            }
        }
        file.delete();
    }
    /**
     * 获取相对路径
     *
     * @param file 文件
     * @return 相对路径
     */
    public static String getRelativePath(String file) {
        if (StringHelper.isEmpty(file)) {
            return null;
        }
        int idx = file.lastIndexOf(File.separator);
        int start = file.lastIndexOf(File.separator, idx - 1);
        return file.substring(start + 1);
    }
}