From dc83ba03564645197c17180aefc7078bbfc6bbfc Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: Sun, 28 Feb 2021 21:33:50 +0800
Subject: [PATCH] 更新脚本&优化代码

---
 ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/file/FileUtils.java |   57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 57 insertions(+), 0 deletions(-)

diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/file/FileUtils.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/file/FileUtils.java
index 24e850c..9dfca16 100644
--- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/file/FileUtils.java
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/file/FileUtils.java
@@ -20,6 +20,12 @@
  */
 public class FileUtils extends org.apache.commons.io.FileUtils
 {
+    /** 字符常量:斜杠 {@code '/'} */
+    public static final char SLASH = '/';
+
+    /** 字符常量:反斜杠 {@code '\\'} */
+    public static final char BACKSLASH = '\\';
+
     public static String FILENAME_PATTERN = "[a-zA-Z0-9_\\-\\|\\.\\u4e00-\\u9fa5]+";
 
     /**
@@ -168,6 +174,57 @@
     }
 
     /**
+     * 返回文件名
+     *
+     * @param filePath 文件
+     * @return 文件名
+     */
+    public static String getName(String filePath)
+    {
+        if (null == filePath)
+        {
+            return null;
+        }
+        int len = filePath.length();
+        if (0 == len)
+        {
+            return filePath;
+        }
+        if (isFileSeparator(filePath.charAt(len - 1)))
+        {
+            // 以分隔符结尾的去掉结尾分隔符
+            len--;
+        }
+
+        int begin = 0;
+        char c;
+        for (int i = len - 1; i > -1; i--)
+        {
+            c = filePath.charAt(i);
+            if (isFileSeparator(c))
+            {
+                // 查找最后一个路径分隔符(/或者\)
+                begin = i + 1;
+                break;
+            }
+        }
+
+        return filePath.substring(begin, len);
+    }
+
+    /**
+     * 是否为Windows或者Linux(Unix)文件分隔符<br>
+     * Windows平台下分隔符为\,Linux(Unix)为/
+     *
+     * @param c 字符
+     * @return 是否为Windows或者Linux(Unix)文件分隔符
+     */
+    public static boolean isFileSeparator(char c)
+    {
+        return SLASH == c || BACKSLASH == c;
+    }
+
+    /**
      * 下载文件名重新编码
      *
      * @param response 响应对象

--
Gitblit v1.9.3