add 重命名文件主名称

This commit is contained in:
Toint
2025-09-10 17:52:21 +08:00
parent 51fc85492f
commit a667511978
2 changed files with 29 additions and 0 deletions

View File

@@ -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
/**
* 获取文件后缀名,扩展名不带“.”

View File

@@ -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"));
}
}