From 3417cf014a65765e02696c1d121ce58b2b4a8aed Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期二, 08 四月 2025 15:55:36 +0800
Subject: [PATCH] 修改pom.xml

---
 src/main/java/com/se/simu/helper/FileHelper.java |  279 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 279 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/se/simu/helper/FileHelper.java b/src/main/java/com/se/simu/helper/FileHelper.java
new file mode 100644
index 0000000..6f239fb
--- /dev/null
+++ b/src/main/java/com/se/simu/helper/FileHelper.java
@@ -0,0 +1,279 @@
+package com.se.simu.helper;
+
+import com.twmacinta.util.MD5;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.codec.digest.DigestUtils;
+
+import java.io.*;
+import java.nio.ByteBuffer;
+import java.nio.channels.FileChannel;
+import java.nio.charset.StandardCharsets;
+import java.security.MessageDigest;
+import java.text.DecimalFormat;
+import java.util.List;
+
+@Slf4j
+@SuppressWarnings("ALL")
+public class FileHelper {
+    public final static String POINT = ".";
+
+    public final static int I16 = 16;
+
+    public static final double D1024 = 1024.0;
+
+    public static final double D1050 = 1050.0;
+
+    public final static int I1000000 = 1000000;
+
+    public static final char[] HEX_DIGITS = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
+
+    public static String getFileName(String file) {
+        int idx = file.lastIndexOf(File.separator);
+        if (idx > -1) {
+            return file.substring(idx + 1);
+        }
+
+        return "";
+    }
+
+    public static String getName(String file) {
+        String fileName = getFileName(file);
+        int idx = fileName.lastIndexOf(".");
+        if (idx > -1) {
+            return fileName.substring(0, idx);
+        }
+
+        return fileName;
+    }
+
+    public static String getExtension(File file) {
+        if (file == null) {
+            return null;
+        }
+
+        String fileName = file.getName().toLowerCase();
+
+        int idx = fileName.indexOf(POINT);
+        if (idx == -1) {
+            return "";
+        }
+
+        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();
+    }
+
+    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);
+    }
+
+    public static String getSquareMeter(double num) {
+        if (num < I1000000) {
+            return new DecimalFormat("#.##骞虫柟绫�").format(num);
+        }
+
+        double knum = num / I1000000;
+
+        return new DecimalFormat("#.##骞虫柟鍗冪背").format(knum);
+    }
+
+    public static double sizeToMb(long size) {
+        if (size < D1050) {
+            return 0.001;
+        }
+
+        String str = String.format("%.3f", size / D1024 / D1024);
+
+        return Double.parseDouble(str);
+    }
+
+    public static String getMd5ByJdk(String filePath) throws IOException {
+        FileInputStream fileStream = new FileInputStream(filePath);
+        String md5 = DigestUtils.md5Hex(fileStream);
+        fileStream.close();
+
+        return md5;
+    }
+
+    public static String getFastMd5(String filePath) throws IOException {
+        String hash = MD5.asHex(MD5.getHash(new File(filePath)));
+
+        MD5 md5 = new MD5();
+        md5.Update(hash, null);
+
+        return md5.asHex();
+    }
+
+    public static void deleteDir(String dir) {
+        File file = new File(dir);
+
+        deleteFiles(file);
+    }
+
+    public static void deleteFiles(File file) {
+        if (null == file || !file.exists()) {
+            return;
+        }
+
+        if (file.isDirectory()) {
+            File[] files = file.listFiles();
+            if (null != files && files.length > 0) {
+                for (File f : files) {
+                    if (f.isDirectory()) {
+                        deleteFiles(f);
+                    } else {
+                        f.delete();
+                    }
+                }
+            }
+        }
+
+        file.delete();
+    }
+
+    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);
+    }
+
+    public static String getPath(String file) {
+        if (StringHelper.isEmpty(file)) {
+            return null;
+        }
+
+        int end = file.lastIndexOf(File.separator);
+
+        return file.substring(0, end);
+    }
+
+    @SuppressWarnings("unused")
+    public static String getFileMd5(String filePath) {
+        FileInputStream fis = null;
+        try {
+            MessageDigest md = MessageDigest.getInstance("MD5");
+
+            fis = new FileInputStream(new File(filePath));
+            FileChannel fChannel = fis.getChannel();
+            ByteBuffer buffer = ByteBuffer.allocateDirect(1024 * 1024);
+
+            while (fChannel.read(buffer) != -1) {
+                buffer.flip();
+                md.update(buffer);
+                buffer.compact();
+            }
+            byte[] b = md.digest();
+
+            return byteToHexString(b);
+        } catch (Exception ex) {
+            ex.printStackTrace();
+            return null;
+        } finally {
+            try {
+                if (null != fis) {
+                    fis.close();
+                }
+            } catch (IOException ex) {
+                ex.printStackTrace();
+            }
+        }
+    }
+
+    public static String byteToHexString(byte[] tmp) {
+        char[] str = new char[16 * 2];
+
+        int k = 0;
+        for (int i = 0; i < I16; i++) {
+            byte byte0 = tmp[i];
+            str[k++] = HEX_DIGITS[byte0 >>> 4 & 0xf];
+            str[k++] = HEX_DIGITS[byte0 & 0xf];
+        }
+
+        return new String(str);
+    }
+
+    public static String getStringMd5(String text) {
+        StringBuilder builder = new StringBuilder();
+        try {
+            MessageDigest md5 = MessageDigest.getInstance("MD5");
+
+            byte[] bytes = md5.digest(text.getBytes(StandardCharsets.UTF_8));
+            for (byte aByte : bytes) {
+                builder.append(Integer.toHexString((0x000000FF & aByte) | 0xFFFFFF00).substring(6));
+            }
+        } catch (Exception ex) {
+            log.error(ex.getMessage(), ex);
+        }
+
+        return builder.toString();
+    }
+
+    public static void getFilesByPath(List<String> list, String path) {
+        File file = new File(path);
+        if (file.isDirectory()) {
+            File[] files = file.listFiles();
+            if (null == files) {
+                return;
+            }
+
+            for (File f : files) {
+                if (f.isDirectory()) {
+                    getFilesByPath(list, f.getPath());
+                } else {
+                    list.add(f.getPath());
+                }
+            }
+        } else {
+            list.add(file.getPath());
+        }
+    }
+
+    public static void copyFile(File src, File dest) throws IOException {
+        InputStream is = null;
+        OutputStream os = null;
+        try {
+            is = new FileInputStream(src);
+            os = new FileOutputStream(dest);
+
+            byte[] buffer = new byte[1024];
+
+            int length;
+            while ((length = is.read(buffer)) > 0) {
+                os.write(buffer, 0, length);
+            }
+        } finally {
+            os.close();
+            is.close();
+        }
+    }
+}

--
Gitblit v1.9.3