题目:现有如下目录结构,查找结构中是否存在Directory11,如果存在,打印出来
|---test
|---|---Directory1
|---|---|---Directory11
|---|---|---|---Directory11
|---|---|---|---File111.txt
|---|---Directory2
|---|---|---Directory22
|---|---|---|---Directory11
|---|---|---|---File222.txt
|---|---Directory3
思路:
/**
* 查找给定目录下是否存在名为Directory11的文件夹
* @author LGB
*
*/
public class FileDemo01 {
public static void main(String[] args) {
findFile(new File("D:/test"));
}
public static void findFile(File file) {
if (file.isDirectory()) { // 确保给定的对象是一个目录
File\[\] fileList = file.listFiles(); // 获取到该目录下的子目录数组
for (int i = 0; i < fileList.length; i++) {
if (fileList\[i\].isFile()) { // 如果子目录是一个文件,则跳出本轮循环,开始判断下一个
break;
} else {
if (fileList\[i\].getName().equals("Directory11")) { // 如果子目录是目录,判断是否名称为Directory11,如果是,输出其绝对路径
System.out.println(fileList\[i\].getAbsolutePath());
}
findFile(fileList\[i\]); // 调用本方法继续判断子目录下面的子目录
}
}
} else {
System.out.println("您给定的是一个文档");
}
}
}
手机扫一扫
移动阅读更方便
你可能感兴趣的文章