这是我参与8月更文挑战的第 1 天,活动详情查看:8月更文挑战
- 产生原因:
- 为了在CSDN上传一系列图片,但是。上传第一张在最下方。。🙃
- 所以写了个方法批量重命名图片
- 解决方案:
- 为了将原来的图片插入到csdn时候是正序,所以修改图片名。需要把1.png变成最大,36变成最小。
处理方法:先截取,因为我的图片前面还有一大堆08191643…节点设置为未被访问_36。先把数字截取出来。因为只有36张图片,所以直接用36减当前数值得到差n,再用36加上差n,这样获得了重新排序
原图
修改后的名字变为这样:
代码如下:
public void test(){
//修改图片的名字
//拿到文件夹的路径
String folderPath = "E:\\picture";
File file = new File(folderPath);
String dirPath = file.getAbsolutePath();
if (file.isDirectory()) {
File[] files = file.listFiles();
//获取此目录下的文件列表
for (File fileFrom : files) {
//得到单个文件名
String fromFile = fileFrom.getName();
int num = 0;
int newnum = 0;
int p = 0;
if (fromFile.contains("_")) {
fromFile = fromFile.substring((fromFile.lastIndexOf("_")+1));
fromFile = fromFile.substring(0,fromFile.lastIndexOf("."));
//要修改的新名字
num = Integer.parseInt(fromFile);
newnum = 36-num;
p = 36+newnum;
fromFile = fromFile.replace(fromFile, String.valueOf(p));
String toFileName = dirPath + "/" + fromFile;
//文件名的格式还是之前的格式
File toFile = new File(toFileName+".jpg");
if (fileFrom.exists() && !toFile.exists()) {
//开始更名
fileFrom.renameTo(toFile);
System.out.println(toFile);
}
}
}
}
}