package learning;
import java.io.File;
public class FileDemo {
//File类,用于操作文件对象。练习:
//列出给定目录中全部文件,包括子目录中的文件
//批量修改给定目录下的文件后缀,如改为.txt
public static void main(String[] args) throws Exception{
File file=new File("D:"+File.separator);
listDir(file); //递归列出文件
//约定最后一个"."开始为后缀名,无后缀的不做修改
File f=new File("D:"+file.separator+"test"+File.separator);
renameDir(f);
}
private static void listDir(File file) {
if (file.isDirectory()) { // 是目录
File[] results = file.listFiles();
if (results != null) {
for (int i = 0; i < results.length; i++) {
listDir(results[i]);
}
}
} else {
System.out.println(file); // 是文件,输出路径
}
}
private static void renameDir(File file) {
if (file.isDirectory()) { // 是目录
File[] results = file.listFiles();
if (results != null) {
for (int i = 0; i < results.length; i++) {
renameDir(results[i]);
}
}
} else { // 是文件,修改后缀名
if(file.getName().contains(".")) {
String newName=file.getName().substring(0, file.getName().lastIndexOf(".") )+".txt";
file.renameTo(new File(file.getParent(),newName));
}
else {
return;
}
}
}
}