1
package indi.exer.yuluo.IO;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
public class FindJava {
private static final String path = "F:\Java\Java-project\Demo12( basic)\basic";
private static List dirList = new ArrayList();
public static void main(String[] args) {
// 新建File对象
File file = new File(path);
getDirPath(file);
for (File dirNames : dirList) {
getJavaFile(dirNames);
}
}
private static void getDirPath(File file) {
if (file.isFile()) {
return;
}
// 获取当前路径下的所有文件
File[] files = file.listFiles();
for (File fileNames : files) {
if (fileNames.isDirectory()) {
dirList.add(fileNames);
}
// 递归调用
getDirPath(fileNames);
}
}
private static void getJavaFile(File file) {
// 获得此路径下的所有文件
File[] FileNames = file.listFiles();
// 对获得文件名称进行判断,如果是java文件 就输出,不是 跳过
if (FileNames != null) {
for (File fileNames : FileNames) {
String path = fileNames.getPath();
if (path.endsWith(".java")) {
System.out.println(path);
}
}
} else {
System.out.println("获取文件失败!");
}
}
}
2
package indi.exer.yuluo.IO;
import java.io.File;
public class DeleteOut {
public static final String path = "F:\Java\Java-project\Demo12( basic)";
public static void main(String[] args) {
File file = new File(path);
// 寻找out文件夹
File[] files = file.listFiles();
if (files != null) {
for (File f : files) {
// 得到路径的字符串形式
String dirNames = f.getPath();
// 判断字符串的末尾是不是out 如果是 执行删除操作
if (dirNames.endsWith("out")) {
System.out.println("找到此路径下的out文件路径为: " + f);
System.out.println(deleteFiles(f) ? "删除成功!" : "删除失败!");
}
}
} else {
System.out.println("获取文件路径失败!");
}
}
private static boolean deleteFiles(File f) {
// 获取此路径下的所有文件信息
File[] files = f.listFiles();
if (files == null) {
System.out.println("获取文件路径失败");
}
// 递归停止条件
if (!(files.length > 0)) {
return false;
}
for (File file : files) {
file.delete();
// 如果是目录继续递归操作
if (file.isDirectory()) {
deleteFiles(file);
}
}
// 此时文件夹为空,可以删除文件夹
return f.delete();
}
}