JAVA 查找某个目录是否存在,如果存在,打印出来
题目:现有如下目录结构,查找结构中是否存在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("您给定的是一个文档");
}
}
}
JAVA 查找某个目录是否存在,如果存在,打印出来的更多相关文章
- Java命名和目录接口——JNDI
JNDI即Java命名和目录接口(JavaNaming and Directory Interface),它属于J2EE规范范畴,是J2EE的核心技术之一,提供了一组接口.类和关于命名空间的概念.JD ...
- JNDI(Java Naming and Directory Interface,Java命名和目录接口)
JNDI(Java Naming and Directory Interface,Java命名和目录接口)是SUN公司提供的一种标准的Java命名系统接口,JNDI提供统一的客户端API,通过不同的访 ...
- Java Web工程目录结构
说明 介绍java web 工程的基本结构目录.记录java web 工程结构的学习. Java web 结构 java web严格来说分为两类工程结构:一个是工程编译目录结构,一个是工程发布目录结构 ...
- [转]Java Web工程目录结构
说明 介绍java web 工程的基本结构目录.记录java web 工程结构的学习. Java web 结构 java web严格来说分为两类工程结构:一个是工程编译目录结构,一个是工程发布目录结构 ...
- 像Maven一样构建java项目的目录,更好的管理java工程的源码
都知道maven具有管理Java或者Javaweb的功能.我个人尤其看中的是其代码层次的分离.不同的代码在不同的文件夹下.这是在eclipse新建一个普通的工程无法实现的.而如果用maven实现有时候 ...
- Eclipse JAVA项目的 目录结构 和 导入
说明:本文所有测试以java工程为例: 1. Eclipse下的java工程目录 eclipse的基本工程目录叫做workspace,每个运行时的eclipse实例只能对应一个workspace,也就 ...
- C++查找指定目录下所以指定类型的文件
/*************************************************************** 函数名称:FindFile 查找指定目录下指定文件 输入:fileNa ...
- Atitit. C# java 的api 目录封装结构映射总结
Atitit. C# java 的api 目录封装结构映射总结 C# java ref System.Reflection System.Type, java.lang.ref concurrent ...
- Java递归列出目录下全部文件
Java递归列出目录下全部文件 /** * 列出指定目录的全部内容 * */ import java.io.*; class hello{ public static void main(String ...
随机推荐
- Laya的动画制作,整图动画,序列图动画,时间轴动画,龙骨动画
参考: Laya动画基础 Egret帧动画工具类 版本:2.1.1.1 序列图动画 白鹭的序列图动画,使用TexureMerger合图,然后使用MovieClip类播放. Laya的话,使用图集打包工 ...
- k8s版jenkins--master/slave模式实现CI/CD---带solo开源博客项目--带maven、djk、git工具
k8s环境: 192.168.0.91 master 192.168.0.92 node 192.168.0.96 gitlab 192.168.0.98 harbor k8s集群安装请参照:http ...
- 12点睛Spring4.1-Spring Aware
12.1 Aware 我们设计的准则是解耦,这就意味着我们不能对Spring的IoC容器有直接的依赖,但是我们还是想我们的bean能识别容器的资源; 使用aware能让我们在应用的任意位置获得spri ...
- Cas(04)——更改认证方式
在Cas Server的WEB-INF目录下有一个deployerConfigContext.xml文件,该文件是基于Spring的配置文件,里面存放的内容常常是部署人员需要修改的内容.其中认证方式也 ...
- python:动态参数*args
动态参数 顾名思义,动态参数就是传入的参数的个数是动态的,可以是1个.2个到任意个,还可以是0个.在不需要的时候,你完全可以忽略动态函数,不用给它传递任何值. Python的动态参数有两种,分别是*a ...
- 微服务Consul系列之服务注册与服务发现
在进行服务注册之前先确认集群是否建立,关于服务注册可以看上篇微服务Consul系列之集群搭建的介绍,两种注册方式:一种是注册HTTP API.另一种是通过配置文件定义,下面讲解的是基于后者配置文件定义 ...
- 莫比乌斯反演求LCM的另一种做法
一个经典问题 求 \[ \sum_{k=1}^n\mathbb{lcm}(k,n) \] 一般的做法是使用\(\varphi(n)\)函数. 不经典的做法 \[ \begin{align*} \sum ...
- C++用于类型转换的4个操作符
Dynamic_cast, const_cast, static_cast, reinterpret_cast. (1)reinterpret_cast 用于基本的类型转换.如 in *ip; ...
- 多生产者多消费者(第一种方式),基于synchronized,wait,notifyAll
生产者消费者模式描述的是协调与协作关系.比如一个人正在准备食物(生产者),而另一个人正在吃(消费者),他们使用一个共用 的桌子用于放置盘子和取走盘子,生产者准备食物,如果桌子上已经满了就等待,消费者( ...
- sublime3 安装markdown插件
sublime3 安装markdown插件 第一步安装package control 自动安装package control 手动安装package control 安装具体的markdown相关的p ...