您的位置:首页 > 其它

IO流_批量修改文件名称案例

2017-01-21 23:49 225 查看
package cn.itcast_09;

import java.io.File;
import java.io.FilenameFilter;
import java.io.IOException;

/*
* 需求:把E:\评书\三国演义下面的视频的名称修改为
* 		00?_介绍.avi
*
* 思路:
* 		A:封装目录
* 		B:获取该目录下所有的文件的File数组
* 		C:遍历该File数组,得到每一个File对象
* 		D:并接一个新的名称,然后重命名即可。
*/
public class FileDemo {
public static void main(String[] args) throws IOException {
// 封装目录
File srcFolder = new File("E:\\评书\\三国演义");

// 获取该目录下所有的文件的File数组
File[] fileArray = srcFolder.listFiles();

// 遍历该File数组,得到每一个File对象
for (File f : fileArray) {
// System.out.println(f.getName());
// E:\评书\三国演义\三国演义_001[评书网-今天很高兴,明天就IO了]_桃园三结义.avi
// 改后:E:\\评书\\三国演义\\001_桃园三结义.avi
String name = f.getName();// 三国演义_001[评书网-今天很高兴,明天就IO了]_桃园三结义.avi

int statIndex = name.indexOf('_');
String numberString = name.substring(statIndex + 1, statIndex
+ statIndex);
// System.out.println(numberString);

// int stratIndex = name.lastIndexOf('_');
// int endIndex = name.lastIndexOf('.');
// String nameString = name.substring(stratIndex + 1, endIndex);
// System.out.println(nameString);
int endIndex = name.lastIndexOf('_');
String nameString = name.substring(endIndex);

String newName = numberString.concat(nameString);// 001_桃园三结义.avi
// System.out.println(newName);

File newFile = new File(srcFolder, newName);// E:\\评书\\三国演义\\001_桃园三结义.avi
System.out.println(f.renameTo(newFile));
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: