昨天在网上下载了mp3文件,文件名都是这种格式的字符串“明朝那些事儿10(朱翊钧篇)68-YSXS8.COM.mp3”,名字很长,在mp4中都显示不全。我打算把这种格式的名字都修改为“10(朱翊钧篇)68.mp3” 也就是通过截取不想要的字符就可以了。
于是我就想到在java中用文件类,编程实现这个操作。
核心的语句要用到File类的renameTo()方法。具体用法如下。
package algorithm;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class FileRename {
public static void main(String[] args){
reNameMp3();
}
public static void reNameMp3() {
public static void reNameMp3(){
File file = new File("d://明朝那些事儿11(朱常洛篇)MP3有声版");
if(file.isDirectory()){
File[] files = file.listFiles();
for(int i=0; i<files.length; i++){
System.out.println(files[i].getAbsolutePath());//包括了文件名// 输出为:d:/明朝那些事儿11(朱常洛篇)MP3有声版/明朝那些事儿11(朱常洛篇)01-YSXS8.COM.mp3
// 而我们需要只要路径,然后将文件名进行适当的截取。因此需要用fiiles[i].getParent()
String fileNameWithPath = files[i].getParent()
+ "//" + files[i].getName().substring(6,16)
+ files[i].getName().substring(26,30);
System.out.println(fileNameWithPath);
boolean flag = files[i].renameTo(new File(fileNameWithPath));
System.out.println(flag);
}
}
}}