From d692b45b22f985aff4635a5bb8b8958ae9bcd6dd Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期五, 21 十月 2022 17:50:09 +0800 Subject: [PATCH] 1 --- src/main/java/com/lf/server/helper/FileHelper.java | 95 ++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 92 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/lf/server/helper/FileHelper.java b/src/main/java/com/lf/server/helper/FileHelper.java index 5e49417..ed33f93 100644 --- a/src/main/java/com/lf/server/helper/FileHelper.java +++ b/src/main/java/com/lf/server/helper/FileHelper.java @@ -1,6 +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; /** * 鏂囦欢甯姪绫� @@ -9,11 +19,14 @@ public class FileHelper { private final static String POINT = "."; + 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 getExtension(File file) { if (file == null) { @@ -30,6 +43,21 @@ return fileName.substring(idx); } + /** + * 鑾峰彇鏂囦欢鎵╁睍鍚� + */ + public static String getExtension(String fileName) { + if (StringHelper.isEmpty(fileName)) { + return ""; + } + + int idx = fileName.lastIndexOf(POINT); + if (idx == -1) { + return ""; + } + + return fileName.substring(idx).toLowerCase(); + } /** * 鑾峰彇澶氱敤閫斾簰鑱旂綉閭欢鎵╁睍绫诲瀷 @@ -120,4 +148,65 @@ return "application/octet-stream"; } } + + /** + * 瀛楄妭鍗曚綅鎹㈢畻 + */ + public static String formatByte(long byteNumber) { + double kbNumber = byteNumber / D1024; + if (kbNumber < D1024) { + return new DecimalFormat("#.##KB").format(kbNumber); + } + double mbNumber = kbNumber / D1024; + if (mbNumber < D1024) { + return new DecimalFormat("#.##MB").format(mbNumber); + } + double gbNumber = mbNumber / D1024; + if (gbNumber < D1024) { + return new DecimalFormat("#.##GB").format(gbNumber); + } + double tbNumber = gbNumber / D1024; + + return new DecimalFormat("#.##TB").format(tbNumber); + } + + /** + * byte杞琈B + */ + public static double sizeToMb(long size) { + if (size < D1050) { + return 0.001; + } + + String str = String.format("%.3f", size / D1024 / D1024); + + 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); + } + } } -- Gitblit v1.9.3