版权声明:LT https://blog.csdn.net/LitongZero/article/details/88186618
Java 获取 副本文件名称
使用场景
1.创建一个文件的副本,取文件名的问题。
2.创建一个对象副本,但是名称不能重复,要加上某种特定字符(如:
-副本1
)
编写工具类
/**
* 获取 副本文件名称
* @param name 原文件名称
* @return 新文件名称
*/
public static String getCopyNewName(String name) {
// 自定义名称 后缀
String COPY_NAME ="-副本" ;
String newName;
//判断名称长度是否大于3
if (name.length() >= COPY_NAME.length() + 1){
//判断名称后几位是否为“-副本”
newName = name.substring(name.length() - 4, name.length() - 1);
if (COPY_NAME.equals(newName)){
//尾数加1
Integer num= Integer.parseInt(name.substring(name.length() - 1, name.length() )) + 1;
newName = name.substring(0,name.length()-COPY_NAME.length()-1) + COPY_NAME + num;
}else {
// 直接拼接
newName = name + COPY_NAME + "1";
}
}else {
// 直接拼接
newName = name + COPY_NAME +"1";
}
// 判断新生成的文件名 是否已存在
int count = //检测方法;
if (count >= 1){
//如果已存在,递归调用
newName = getCopyNewName(newName);
}
return newName;
}
测试
public static void main(String[] args) {
System.out.println(getCopyNewName("文件"));
// 文件-副本1
System.out.println(getCopyNewName("文件1"));
// 文件1-副本1
System.out.println(getCopyNewName("文件-副本1"));
//文件-副本2
}