Java在指定目录中查找文件,可以使用File类来遍历目录树,并检查每个条目是否为文件。
指定目录,查找特定扩展名文件:
import java.io.File;
public class FindFilesInDirectory {
public static void main(String[] args) {
// 指定要搜索的根目录路径
String rootDirectoryPath = "C:/directory/path";
// 指定要查找的文件扩展名(不带点)
String fileExtension = "txt";
// 调用方法开始搜索
findFiles(rootDirectoryPath, fileExtension);
}
/**
* 在指定目录及其子目录中查找具有指定扩展名的文件
*
* @param directoryPath 要搜索的目录路径
* @param extension 要查找的文件扩展名(不带点)
*/
private static void findFiles(String directoryPath, String extension) {
// 创建File对象表示目录
File directory = new File(directoryPath);
// 检查路径是否为有效的目录
if (directory.exists() && directory.isDirectory()) {
// 获取目录中的所有条目(文件和子目录)
File[] files = directory.listFiles();
if (files != null) {
for (File file : files) {
// 如果条目是文件且扩展名匹配,则打印文件路径
if (file.isFile() && file.getName().endsWith("." + extension)) {
System.out.println("Found file: " + file.getAbsolutePath());
}
// 如果条目是目录,则递归调用
else if (file.isDirectory()) {
findFiles(file.getAbsolutePath(), extension);
}
}
} else {
System.out.println("Cannot read the contents of the directory: " + directoryPath);
}
} else {
System.out.println("The specified path is not a valid directory: " + directoryPath);
}
}
}
D盘查找以字母 'a' 开头所有文件:
import java.io.*;
class Main {
public static void main(String[] args) {
File dir = new File("C:");
FilenameFilter filter = new FilenameFilter() {
public boolean accept
(File dir, String name) {
return name.startsWith("b");
}
};
String[] children = dir.list(filter);
if (children == null) {
System.out.println("目录不存在或它不是一个目录");
}
else {
for (int i=0; i < children.length; i++) {
String filename = children[i];
System.out.println(filename);
}
}
}
}

722

被折叠的 条评论
为什么被折叠?



