批量改文件的名字,把文件夹中类似于文件名,“零基础学Java_001_IO流_IO流概述"改成"001_IO流概述”。
package javase.file.demo02;
import java.io.File;
/*
分析:
A:得到所有的文件对象(把所有要改名字的文件编程File对象)
1、得到所在文件的目录(D:\javase\Record\10IO流\a)
2、通过对这个目录进行File对象的包装,得到他下面的所有的File对象(listFiles)
B:遍历所有的文件对象,在遍历的过程中对文件进行改名(renameTo)
改名字的步骤:
1、得到原来文件的名字(getName)
2、对原来文件中的名字进行提取(字符串内容截取,substring)
原:零基础学Java_001_IO流_IO流概述
现在:001_IO流概述
截取之后拼接成一个新的名字
3、改名
利用原来该文件所在的文件路径+新名字,构建一个新的File对象
原来的文件对象.renameTo(构造的新的File对象)。*/
public class Test2 {
public static void main(String[] args) {
//文件所在的目录
File file = file = new File("D:\\javase\\Record\\10IO流\\a");
//得到所有的文件对象
File[] files = file.listFiles();
//遍历files,在遍历的过程中改名
for (File file2 : files) {
//得到文件名
String name = file2.getName();
// System.out.println(name);
//零基础学Java_001_IO流_IO流概述.mp4
int start_ = name.indexOf("_");
String first = name.substring(start_+1, start_+4);
int end_ = name.lastIndexOf("_");
String last = name.substring(end_);
//新文件名字
String newName = first+last;
//对file2进行重命名,就要创建一个新的File对象
// File temp = new File(newName);
File newFile = new File(file,newName);
file2.renameTo(newFile);
}
}
}