题目:现有如下目录结构,查找结构中是否存在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("您给定的是一个文档"); } } }
原文:http://www.cnblogs.com/xs104/p/4621619.html