上一篇:教你使用File类列出目录所有文件 | 带你学《Java语言高级特性》之四十九
在上一节中我们实操File类,完成了对目录中文件的列出、判空清除操作,本节将接续上一节案例,实现对文件命名的批量修改。
【本节目标】
通过阅读本节内容,你将进一步掌握File类的相关方法,了解文件名称编辑的一些常见套路,实现指定目录下的文件名的批量修改操作。
File操作案例:批量修改文件名称
编写程序,程序运行时输入目录名称,并把该目录下的所有文件名后缀修改为.txt。
对于这类的操作必须设置一些假设的约定,能够重命名的文件都是有后缀的,如果没有后缀的路径,则为其追加路径,如果有后缀的路径,则必须以最后一个“.”进行截取。
import java.io.File;
public class JavaAPIDemo {
public static void main(String[] args)throws Exception{
File file = new File("D:"+ File.separator +"test") ; //是一个目录
long start = System.currentTimeMillis();
renameDir(file);
long end = System.currentTimeMillis();
System.out.println("本次操作所花费的时间" + (end - start));
}
public static void renameDir(File file) {
if(file.isDirectory()) { //是一个目录
File results [] = file.listFiles(); //列出子目录中的内容
if(results != null) {
for(int x = 0 ; x < results.length;x ++) {
renameDir(results[x]) ;
}
}
}else {
if(file.isFile()) { //如果是文件则必须进行重命名
String fileName = null;
if(file.getName().contains(".")) {
fileName = file.getName().substring(0,file.getName().lastIndexOf("."))+ ".txt";
}else {
fileName = file.getName() + ".txt";
}
File newFile = new File(file.getParentFile(),fileName); //新的文件名称
file.renameTo(newFile); //重命名
}
}
}
}
在面试过程之中经常会出现给你一个路径而后让你进行名称或文件的批量修改操作,那么就采用以上的代码结构即可。
想学习更多的Java的课程吗?从小白到大神,从入门到精通,更多精彩不容错过!免费为您提供更多的学习资源。
本内容视频来源于阿里云大学