Java 之递归遍历目录

时间:2022-04-11 09:24:08

Java 之递归遍历目录

一、内容

  输出指定目录(文件夹)下的所有文件(包括目录)的绝对路径

二、源代码:RecursiveListDirectory.java

 package cn.com.zfc.day016;

 import java.io.File;

 /**
* @describe 递归遍历目录
* @author zfc
* @date 2018年1月1日 上午8:44:55
*/
public class RecursiveListDirectory { public static void main(String[] args) {
String directoryName = "F:\\StudySoft";
// 1、映射目录文件
File directory = new File(directoryName);
// 2、调用方法
recursiveListDirectory(directory);
} /**
* 输出指定目录下面的文件名称,包括子目录
*
* @param directoryName:目录名称
* @author zfc
* @date 2018年1月1日上午8:46:08
*
*/
public static void recursiveListDirectory(File directory) {
// 1、判断映射的目录文件是否存在?
if (!directory.exists()) {
// 不存在则直接返回
return;
}
// 2、判断是否是目录?
if (!directory.isDirectory()) {
// 不是目录,判断是否是文件?
if (directory.isFile()) {
System.out.println("文件绝对路径:" + directory.getAbsolutePath());
}
} else {
// 是目录,获取该目录下面的所有文件(包括目录)
File[] files = directory.listFiles();
// 判断 files 是否为空?
if (null != files) {
// 遍历文件数组
for (File f : files) {
// 判断是否是目录?
if (f.isDirectory()) {
// 是目录
System.out.println("目录绝对路径:" + f.getAbsolutePath());
recursiveListDirectory(f);
} else {
// 不是目录,判断是否是文件?
if (f.isFile()) {
System.out.println("文件绝对路径:" + f.getAbsolutePath());
}
}
}
}
}
}
}

三、运行结果

Java 之递归遍历目录

Java 之递归遍历目录的更多相关文章

  1. Java之递归遍历目录,修改指定文件的指定内容

    EditProperties.java package PropertiesOperation.Edit; import java.io.File; /** * 替换指定Porpoerties文件中的 ...

  2. Java中递归的优缺点,Java写一个递归遍历目录下面的所有文件包括子文件夹里边的文件。

    题目: 遍历出aaa文件夹下的文件 首先分析思路: 1.首先判断这个文件夹是否为文件,通过isFile()函数可以判断是否为文件. 2.然后通过isDirectory判断是否为目录. 3.如果是目录就 ...

  3. (实用篇)PHP不用递归遍历目录下所有文件的代码

    <?php /** * PHP 非递归实现查询该目录下所有文件 * @param unknown $dir * @return multitype:|multitype:string */ fu ...

  4. Linux下文件及目录的一些操作(附递归遍历目录源码)

    1.获取当前工作目录 #include <unistd.h> 1.char *getcwd(char *buf,size_t size); 2. 3.其中,buf为缓冲区地址,size为给 ...

  5. Python递归遍历目录下所有文件

    #自定义函数: import ospath="D:\\Temp_del\\a"def gci (path): """this is a stateme ...

  6. VC&sol;MFC 下 递归遍历目录下的所有子目录及文件

    在MFC下要实现文件夹的递归遍历,可用CFileFind类,依次读取文件夹下的子文件夹和文件,并判断通过判断是文件夹还是文件来决定递归遍历.递归遍历代码如下: /******************* ...

  7. 牛客网:java入门实现遍历目录

    项目介绍 遍历目录是操作文件时的一个常见需求.比如写一个程序,需要找到并处理指定目录下的所有JS文件时,就需要遍历整个目录.该项目教会你如何使用流式编程和lambda表达式,帮助你进一步熟悉java8 ...

  8. 【C】——APUE小程序之递归遍历目录

    递归降序遍历目录层次结构,并按文件类型计数. 先介绍相关的函数: #include<dirent.h> DIR *opendir(const char *pathname); //打开目录 ...

  9. IO流-递归遍历目录下指定后缀名结尾的文件名称

    /* *自定义遍历目录下指定后缀名结尾文件的名称的方法: * * param file:指定目录 name:指定后缀名 */ 1 public static void FileName(File fi ...

随机推荐

  1. matlab 功率谱分析

    matlab 功率谱分析 1.直接法:直接法又称周期图法,它是把随机序列x(n)的N个观测数据视为一能量有限的序列,直接计算x(n)的离散傅立叶变换,得X(k),然后再取其幅值的平方,并除以N,作为序 ...

  2. iOS - 视图与手势&lpar;UIview &amp&semi; UIGestureRecognizer&rpar;

    01 UIView视图的基本使用 --- 在根视图中添加2个UIView视图 //视图确实加载时调用 - (void)viewDidLoad { [super viewDidLoad]; // Do ...

  3. Java接口修饰符详解

    接口就是提供一种统一的”协议”,而接口中的属性也属于“协议”中的成员.它们是公共的,静态的,最终的常量.相当于全局常量.抽象类是不“完全”的类,相当于是接口和具体类的一个中间层.即满足接口的抽象,也满 ...

  4. Log4Qt 使用(一)

    一.下载 http://sourceforge.net/projects/log4qt/develop 二.Log4Qt介绍 Log4Qt 是Apache Log4J 的Qt移植版,所以看Log4J的 ...

  5. 完美世界3D格斗手游&lbrack;格斗宝贝&rsqb;今日公測

    狗刨学习网报道 / 经过近两年井喷式的发展,国内手游市场洗牌的信号愈加强烈.用户体验的提升.以及对产品核心品质的要求.促进了手游的精品化.而白热化的市场竞争,也催生了各大厂商在细分市场的抢滩.当中.更 ...

  6. Mysql中主从复制的原理、配置过程以及实际案例

    Mysql中主从复制的原理.配置过程以及实际案例1.什么是主从复制?原理:主从分离,什么意思呢?我们不妨画个图看看.如图1所示: 2.准备工作:预备两台服务器,我这里使用虚拟机安装了两个Centos6 ...

  7. 高斯消元法&lpar;Gauss Elimination&rpar;【超详解&amp&semi;模板】

    高斯消元法,是线性代数中的一个算法,可用来求解线性方程组,并可以求出矩阵的秩,以及求出可逆方阵的逆矩阵.高斯消元法的原理是:若用初等行变换将增广矩阵 化为 ,则AX = B与CX = D是同解方程组. ...

  8. 去掉xcode编译warning:ld&colon; warning&colon; directory not found for option &&num;39&semi;-L

    选择工程, 编译的 (targets) 选择 Build Settings 菜单 查找 Library Search Paths 和 Framework Search Paths, 删掉编译报warn ...

  9. EDK II之SMM&sol;SMI

    SMM:System Managerment Mode SMM有自己的smm core以及dispatcher(可以简单的把smm core跟dxe core看成是平行的存在),smm有自己的运行空间 ...

  10. AndroidStudio2&period;2&period;x以上使用cMake编译调用底层c生成依赖库

    最近使用AndroidStudio的最新ndk编译方式cMake来编译底层cpp文件,由于之前没有接触过cMake语法,先附上官方学习文档地址:https://developer.android.co ...