Package org.miaixz.bus.core.io.file
Class FileName
java.lang.Object
org.miaixz.bus.core.io.file.FileName
文件名相关工具类
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic StringaddTempSuffix(String fileName, String suffix) 增加临时扩展名static StringcleanInvalid(String fileName) 清除文件名中的在Windows下不支持的非法字符,包括: \ / : * ? " < > |static booleancontainsInvalid(String fileName) 文件名中是否包含在Windows下不支持的非法字符,包括: \ / : * ? " < > |static String获取文件扩展名(后缀名),扩展名不带“.”static String获得文件的扩展名(后缀名),扩展名不带“.”static String返回文件名static String返回文件名static String返回主文件名static String返回主文件名static String获取文件后缀名,扩展名不带“.”static String获得文件后缀名,扩展名不带“.”static boolean根据文件名检查文件类型,忽略大小写static String返回主文件名static String返回主文件名static String修复路径 如果原路径尾部有分隔符,则保留为标准分隔符(/),否则不保留 1.
-
Field Details
-
EXT_JAVA
.java文件扩展名- See Also:
-
EXT_CLASS
.class文件扩展名- See Also:
-
EXT_JAR
.jar文件扩展名- See Also:
-
EXT_JAR_PATH
在Jar中的路径jar的扩展名形式- See Also:
-
UNIX_SEPARATOR
public static final char UNIX_SEPARATOR类Unix路径分隔符- See Also:
-
WINDOWS_SEPARATOR
public static final char WINDOWS_SEPARATORWindows路径分隔符- See Also:
-
-
Constructor Details
-
FileName
public FileName()
-
-
Method Details
-
getName
返回文件名- Parameters:
file- 文件- Returns:
- 文件名
-
getName
返回文件名"d:/test/aaa" 返回 "aaa" "/test/aaa.jpg" 返回 "aaa.jpg"
- Parameters:
filePath- 文件- Returns:
- 文件名
-
mainName
返回主文件名- Parameters:
file- 文件- Returns:
- 主文件名
-
mainName
返回主文件名- Parameters:
fileName- 完整文件名- Returns:
- 主文件名
-
extName
获取文件扩展名(后缀名),扩展名不带“.”- Parameters:
file- 文件- Returns:
- 扩展名
-
extName
获得文件的扩展名(后缀名),扩展名不带“.”- Parameters:
fileName- 文件名- Returns:
- 扩展名
-
getSuffix
获取文件后缀名,扩展名不带“.”- Parameters:
file- 文件- Returns:
- 扩展名
- See Also:
-
getSuffix
获得文件后缀名,扩展名不带“.”- Parameters:
fileName- 文件名- Returns:
- 扩展名
- See Also:
-
getPrefix
返回主文件名- Parameters:
file- 文件- Returns:
- 主文件名
- See Also:
-
getPrefix
返回主文件名- Parameters:
fileName- 完整文件名- Returns:
- 主文件名
- See Also:
-
addTempSuffix
增加临时扩展名- Parameters:
fileName- 文件名suffix- 临时扩展名,如果为空,使用`.temp`- Returns:
- 临时文件名
-
cleanInvalid
清除文件名中的在Windows下不支持的非法字符,包括: \ / : * ? " < > |- Parameters:
fileName- 文件名(必须不包括路径,否则路径符将被替换)- Returns:
- 清理后的文件名
-
containsInvalid
文件名中是否包含在Windows下不支持的非法字符,包括: \ / : * ? " < > |- Parameters:
fileName- 文件名(必须不包括路径,否则路径符将被替换)- Returns:
- 是否包含非法字符
-
isType
根据文件名检查文件类型,忽略大小写- Parameters:
fileName- 文件名extNames- 被检查的扩展名数组,同一文件类型可能有多种扩展名,扩展名不带“.”- Returns:
- 是否是指定扩展名的类型
-
normalize
修复路径 如果原路径尾部有分隔符,则保留为标准分隔符(/),否则不保留- 1. 统一用 /
- 2. 多个 / 转换为一个 /
- 3. 去除左边空格
- 4. .. 和 . 转换为绝对路径,当..多于已有路径时,直接返回根路径
- 5. SMB路径保留,如\\127.0.0.0\a\b.zip
"/foo//" = "/foo/" "/foo/./" = "/foo/" "/foo/../bar" = "/bar" "/foo/../bar/" = "/bar/" "/foo/../bar/../baz" = "/baz" "/../" = "/" "foo/bar/.." = "foo" "foo/../bar" = "bar" "foo/../../bar" = "bar" "//server/foo/../bar" = "/server/bar" "//server/../bar" = "/bar" "C:\\foo\\..\\bar" = "C:/bar" "C:\\..\\bar" = "C:/bar" "~/foo/../bar/" = "~/bar/" "~/../bar" = 普通用户运行是'bar的home目录',ROOT用户运行是'/bar'
- Parameters:
path- 原路径- Returns:
- 修复后的路径
-