public class FileNameUtil extends Object
Modifier and Type | Field and Description |
---|---|
static String |
EXT_CLASS
.class文件扩展名
|
static String |
EXT_JAR
.jar文件扩展名
|
static String |
EXT_JAR_PATH
在Jar中的路径jar的扩展名形式
|
static String |
EXT_JAVA
.java文件扩展名
|
static char |
UNIX_SEPARATOR
类Unix路径分隔符
|
static char |
WINDOWS_SEPARATOR
Windows路径分隔符
|
Constructor and Description |
---|
FileNameUtil() |
Modifier and Type | Method and Description |
---|---|
static String |
addTempSuffix(String fileName,
String suffix)
增加临时扩展名
|
static String |
cleanInvalid(String fileName)
清除文件名中的在Windows下不支持的非法字符,包括: \ / : * ?
|
static boolean |
containsInvalid(String fileName)
文件名中是否包含在Windows下不支持的非法字符,包括: \ / : * ?
|
static String |
extName(File file)
获取文件扩展名(后缀名),扩展名不带“.”
|
static String |
extName(String fileName)
获得文件的扩展名(后缀名),扩展名不带“.”
|
static String |
getName(File file)
返回文件名
|
static String |
getName(String filePath)
返回文件名
"d:/test/aaa" 返回 "aaa" "/test/aaa.jpg" 返回 "aaa.jpg" |
static String |
getPrefix(File file)
返回主文件名
|
static String |
getPrefix(String fileName)
返回主文件名
|
static String |
getSuffix(File file)
获取文件后缀名,扩展名不带“.”
|
static String |
getSuffix(String fileName)
获得文件后缀名,扩展名不带“.”
|
static boolean |
isType(String fileName,
String... extNames)
根据文件名检查文件类型,忽略大小写
|
static String |
mainName(File file)
返回主文件名
|
static String |
mainName(String fileName)
返回主文件名
|
static String |
normalize(String path)
修复路径
如果原路径尾部有分隔符,则保留为标准分隔符(/),否则不保留 1. |
public static final String EXT_JAVA
public static final String EXT_CLASS
public static final String EXT_JAR
public static final String EXT_JAR_PATH
public static final char UNIX_SEPARATOR
public static final char WINDOWS_SEPARATOR
public static String getName(File file)
file
- 文件public static String getName(String filePath)
"d:/test/aaa" 返回 "aaa" "/test/aaa.jpg" 返回 "aaa.jpg"
filePath
- 文件public static String getSuffix(File file)
file
- 文件extName(File)
public static String getSuffix(String fileName)
fileName
- 文件名extName(String)
public static String addTempSuffix(String fileName, String suffix)
fileName
- 文件名suffix
- 临时扩展名,如果为空,使用`.temp`public static String getPrefix(File file)
file
- 文件mainName(File)
public static String getPrefix(String fileName)
fileName
- 完整文件名mainName(String)
public static String mainName(String fileName)
fileName
- 完整文件名public static String extName(File file)
file
- 文件public static String extName(String fileName)
fileName
- 文件名public static String cleanInvalid(String fileName)
fileName
- 文件名(必须不包括路径,否则路径符将被替换)public static boolean containsInvalid(String fileName)
fileName
- 文件名(必须不包括路径,否则路径符将被替换)public static boolean isType(String fileName, String... extNames)
fileName
- 文件名,例如hutool.pngextNames
- 被检查的扩展名数组,同一文件类型可能有多种扩展名,扩展名不带“.”public static String normalize(String path)
栗子:
"/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'
path
- 原路径Copyright © 2025. All rights reserved.