只修改文件全路径中的文件名方法示例
业务需求:
将路径1: D:\atestFile\1\muBan\测试删除文件夹\1.pdf 修改为
路径2: D:\atestFile\1\muBan\测试删除文件夹\111.pdf
(此处要求只修改 1.pdf 中的 1 ,而目录名为 1 的不做修改)
该需求中要求只修改文件的名称,其他的路径全不变,也就是将 1.pdf 中的 1 改为 111.pdf, 如果用字符串的replace方法,会将 目录路径为 1 的也改为 111 ,因此自己写了一个方法,记录一下处理过程
public static void main(String[] args) {
String oldPath = "D:\\atestFile\\1\\muBan\\测试删除文件夹\\1.pdf";
String[] split = oldPath.split("\\\\");
String s2 = split[split.length - 1];
String newFileName = s2.replace(s2, "111") + "." + Strings.split(s2,".")[1];
String newUrl = "";
for (int i = 0; i < split.length; i++) {
String s1 = split[i];
if (i != split.length -1){
newUrl += s1 +"\\";
}else {
newUrl += newFileName;
}
}
// 修改后的url,没有将 D:\atestFile\1 中的 1 一并修改为 111 (这个就是此方法的意义)
System.out.println(newUrl); // D:\atestFile\1\muBan\测试删除文件夹\111.pdf
}