mirror of
https://gitee.com/dromara/hutool.git
synced 2026-02-09 09:16:26 +08:00
add 重命名文件主名称
This commit is contained in:
@@ -132,6 +132,28 @@ public class FileNameUtil {
|
||||
}
|
||||
// endregion
|
||||
|
||||
/**
|
||||
* 重命名文件主名称(不会修改后缀)
|
||||
*
|
||||
* @param filePath 文件
|
||||
* @param newFileMainName 新的文件主名称(不含后缀)
|
||||
* @return 重命名后的文件名称
|
||||
*/
|
||||
public static String renameMain(final String filePath, final String newFileMainName) {
|
||||
String fileName = getName(filePath);
|
||||
if (StrUtil.isBlank(fileName)) {
|
||||
return newFileMainName;
|
||||
}
|
||||
|
||||
// 如果原始文件名称有后缀则保留
|
||||
final String suffix = getSuffix(fileName);
|
||||
if (StrUtil.isBlank(suffix)) {
|
||||
return newFileMainName;
|
||||
} else {
|
||||
return newFileMainName + "." + suffix;
|
||||
}
|
||||
}
|
||||
|
||||
// region ----- prefix and suffix
|
||||
/**
|
||||
* 获取文件后缀名,扩展名不带“.”
|
||||
|
||||
@@ -63,4 +63,11 @@ public class FileNameUtilTest {
|
||||
public void normalizeBlankTest() {
|
||||
Assertions.assertEquals("C:/aaa ", FileNameUtil.normalize("C:\\aaa "));
|
||||
}
|
||||
|
||||
@Test
|
||||
void renameMainTest() {
|
||||
Assertions.assertEquals("1.pdf", FileNameUtil.renameMain("a.b.pdf", "1"));
|
||||
Assertions.assertEquals("a.pdf", FileNameUtil.renameMain(null, "a.pdf"));
|
||||
Assertions.assertEquals("a.pdf", FileNameUtil.renameMain("", "a.pdf"));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user