使用Java IO批量修改文件名

批量改文件的名字,把文件夹中类似于文件名,“零基础学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);
		}
	}

}

你可能感兴趣的:(java基础)