题目:现有如下目录结构,查找结构中是否存在Directory11,如果存在,打印出来

  |---test
  |---|---Directory1
  |---|---|---Directory11
  |---|---|---|---Directory11
  |---|---|---|---File111.txt
  |---|---Directory2
  |---|---|---Directory22
  |---|---|---|---Directory11
  |---|---|---|---File222.txt
  |---|---Directory3

  思路:

  • 先判断给定的目录是否是一个目录,如果不是,则提示退出
  • 获取到该目录下的子目录数组
  • 如果子目录是一个文件,则跳出本轮循环,开始判断下一个元素
  • 如果子目录是目录,判断是否名称为Directory11,如果是,输出其绝对路径
  • 调用本方法继续判断子目录下面的子目录
/**
* 查找给定目录下是否存在名为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("您给定的是一个文档");
}
}
}

最新文章

  1. java关闭流,解压缩后的清除
  2. hdu 1950 最长上升子序列
  3. Linux下vim配置详解
  4. [POJ] 1606 Jugs(BFS+路径输出)
  5. http验证CertificateValidation
  6. gridView 主从表实现
  7. SDK,API概念
  8. UOJ #274. 【清华集训2016】温暖会指引我们前行 [lct]
  9. 框架学习之Spring(一IOC)----HelloWrod
  10. [ZJOI2007]Hide 捉迷藏
  11. linux 删除命令
  12. Python开发【内置函数篇】re正则表达式
  13. 【AO笔记】关于创建IFeatureClass中的参考系设置——不能为null也不能为IUnknownCoodinateSystem
  14. odoo后台实现微信公众号验证
  15. Kali linux2.0里Metasploit的postgresql selected, no connection问题解决
  16. vue的图片路径,和背景图片路径打包后错误解决
  17. JavaScript-undefined与null区别
  18. django 部署,gunicorn、virtualenv、nginx
  19. JavaScript清除字符串前后空格
  20. slam学习

热门文章

  1. Python数据抓取技术与实战 pdf
  2. SpringMVC:学习笔记(11)——依赖注入与@Autowired
  3. 如何取到el-select中的label
  4. memmove和memcpy函数的区别及实现
  5. 感受typescript定义变量和数据类型的神奇魔力
  6. YCOJ过河卒C++
  7. [WinForm] - &quot;更新 DataSet 应用程序集对象失败,Visual Studio 自动重启&quot; 之解决
  8. php扩展安装方式
  9. Mybatis笔记3
  10. hdu 2476 题解