实例:利用JAVA File类制作批量文件改名小工具
我们有时会碰到需要批量修改文件名的需求,比如从浏览器保存的图片,文件名都是乱码:

当然我们可以利用Windows自带的批量重命名功能:
(全选后,按右键、重命名)

但是这样重命名的格式是固定的,自由度不高。
利用JAVA的File类可以更自由地为多个文件重命名。
重命名利用的是renameTo(File f)方法,传入的参数是一个file对象,表示重命名的文件,如果参数文件对象的绝对路径和源文件的不一样,就像剪切文件一样将文件移动走。
为了让文件原地不动,可以这样写:
File f = new File("D:\\OldName.txt"); f.renameTo(new File(f.getParent()+"\\"+"NewName.txt"));
需求1:将乱码图片文件批量按序号重命名 格式为 Photo001.jpg
public static void changeName() { File f = new File("D:\\Photos"); File[] files = f.listFiles(); for(int i = 0;i<files.length;i++) { files[i].renameTo(new File(files[i].getParent()+"\\Photo"+String.format("%03d", (i+1))+".jpg")); } }
结果:

需求2:将文件名中的特定文字替换
(比如下例中张三改名为张三丰)

public static void changeName() { File f = new File("D:\\Photos"); File[] files = f.listFiles(); for(int i = 0;i<files.length;i++) { files[i].renameTo(new File(files[i].getParent()+"\\"+files[i].getName().replaceAll("张三", "张三丰"))); } }
效果:


浙公网安备 33010602011771号