写一个工具,要求:
对指定路径下的文件(包括其所有子目录)进行操作,将文件名中含有”.”的字符转成”_”
例如:XXX/XXX/XXX 目录下有 “数学_7上 1.1 1 正数与负数的概念--T1.flv” 文件
转成:XXX/XXX/XXX 目录下 “数学_7上 1_1 1 正数与负数的概念--T1.flv”
作业题自己也多思考一下嘛
package com.study.test;
import java.io.File;
public class Test {
public static void main(String[] args) {
File file = new File("D:\\1");
reName(file);
}
public static void reName(File file){
if(file.isDirectory()){
File[] files = file.listFiles();
for(File f : files){
reName(f);
}
}else{
String fileName = file.getName();
String ex = fileName.substring(fileName.lastIndexOf("."));
fileName = fileName.substring(0, fileName.lastIndexOf("."));
fileName = fileName.replaceAll("\\.", "_");
file.renameTo(new File(file.getParent() + File.separator + fileName + ex));
}
}
}
public class StackWord {我比较好奇的是
public static void main(String[] args){
subString("D:\\log");
}
public static void subString(String filePath){
File file = new File(filePath);
File [] filelist = file.listFiles();
for(int i=0;i<filelist.length;i++){
String str = filelist[i].getName().substring(filelist[i].getName().lastIndexOf("."));
System.out.println(filelist[i].getName().substring(0, filelist[i].getName().length()-str.length()));
}
}
}
aaa.bbb(.bbb不是文件后缀名)
aaa.flv
我怎么区分?所有.转换成_那后缀名的那个.也要转吗。用递归找出所有子目录
然后用namefilter 加正则表达式过滤出所有带.的文件夹
然后再修改文件名