递归法:
//递归遍历文件夹下所有文件
public static void searchFiles(String root_path) {
File root_file = new File(root_path);
if (root_file.exists()) {
File[] files = root_file.listFiles();//当前文件夹下所有文件和文件夹名
if (files.length == 0) {
System.out.println("文件夹是空的!");
return;
}
else {
for (File file : files) {
//判断是文件夹还是文件
if (file.isDirectory()) {
System.out.println("文件夹:" + file.getAbsolutePath());
searchFiles(file.getAbsolutePath());
}
//找到jpg文件,或文件file.isFile()
else if (file.toString().endsWith("jpg")) {
System.out.println("文件:" + file.getAbsolutePath());
}
}
}
}
else {
System.out.println("文件不存在!");
}
}
非递归:
//非递归,遍历获取文件的一般方法
public static void searchFiles2(String root_path){
File root_file = new File(root_path);
File[] files = root_file.listFiles();
for(int i = 0;i < files.length;i++){
String each_path = root_path +"\\"+ files[i].getName();//getName()获取最后一级文件夹名
System.out.println(each_path);
}
}