需求场景:
发现所有的照片都是如下命名的
P1020335.JPG
P1020336.JPG
P1020337.JPG
P1020338.JPG
P1020339.JPG
…
这些文件名实际上是自动生成的,对你来说不方便看。
你现在希望将这些照片都改成“2020-8-15-i”
i表示第几张照片如
2020-8-15-1
2020-8-15-2
...
请设计一个程序实现自动修改。
##思路
封装目录
获取该目录下所有的文件的File数组
遍历该File数组,得到每一个File对象
拼接一个新的名称,然后重命名即可
import java.io.File;
public class UpdatePhotoName
{
public static void main(String[] args)
{
File file = new File("d:/photos");
File[] list = file.listFiles();
// 如果目录下文件存在
if (file.exists() && file.isDirectory())
{
for (int i = 0; i < list.length; i++)
{
//取文件名子存入name中
String name = list[i].getName();
// 截取.之前的字符串出来
int index = name.indexOf(".");
// 截取.JPG出来
int index2 = name.lastIndexOf(".");
String name3 = name.substring(index2);
// 拼接字符串
String newName = "2020-8-15-" + (i + 1) + name3;
//重命名
File dest = new File("d:/photos" + "/" + newName);
list[i].renameTo(dest);
System.out.println(dest.getName());
}
}
}
}