Java 之递归遍历目录

Java 之递归遍历目录

一、内容

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

二、源代码:RecursiveListDirectory.java

 1 package cn.com.zfc.day016;
 2
 3 import java.io.File;
 4
 5 /**
 6  * @describe 递归遍历目录
 7  * @author zfc
 8  * @date 2018年1月1日 上午8:44:55
 9  */
10 public class RecursiveListDirectory {
11
12     public static void main(String[] args) {
13         String directoryName = "F:\\StudySoft";
14         // 1、映射目录文件
15         File directory = new File(directoryName);
16         // 2、调用方法
17         recursiveListDirectory(directory);
18     }
19
20     /**
21      * 输出指定目录下面的文件名称,包括子目录
22      *
23      * @param directoryName:目录名称
24      * @author zfc
25      * @date 2018年1月1日上午8:46:08
26      *
27      */
28     public static void recursiveListDirectory(File directory) {
29         // 1、判断映射的目录文件是否存在?
30         if (!directory.exists()) {
31             // 不存在则直接返回
32             return;
33         }
34         // 2、判断是否是目录?
35         if (!directory.isDirectory()) {
36             // 不是目录,判断是否是文件?
37             if (directory.isFile()) {
38                 System.out.println("文件绝对路径:" + directory.getAbsolutePath());
39             }
40         } else {
41             // 是目录,获取该目录下面的所有文件(包括目录)
42             File[] files = directory.listFiles();
43             // 判断 files 是否为空?
44             if (null != files) {
45                 // 遍历文件数组
46                 for (File f : files) {
47                     // 判断是否是目录?
48                     if (f.isDirectory()) {
49                         // 是目录
50                         System.out.println("目录绝对路径:" + f.getAbsolutePath());
51                         recursiveListDirectory(f);
52                     } else {
53                         // 不是目录,判断是否是文件?
54                         if (f.isFile()) {
55                             System.out.println("文件绝对路径:" + f.getAbsolutePath());
56                         }
57                     }
58                 }
59             }
60         }
61     }
62 }

三、运行结果

原文地址:https://www.cnblogs.com/zfc-java/p/8166124.html

时间: 2024-10-12 12:13:24

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

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

EditProperties.java 1 package PropertiesOperation.Edit; 2 3 import java.io.File; 4 5 /** 6 * 替换指定Porpoerties文件中的指定内容 7 * 三个参数: 8 * filePath:存放properties文件的目录 9 * srcStr:需要替换的字符串 10 * desStr:用于替换的字符串 11 * */ 12 public class EditProperties { 13 private

java递归遍历目录获取所有文件及目录方案

本文提供一份递归遍历目录获取所有文件及目录的源代码: import java.io.File; import java.util.ArrayList; import java.util.List; /** * Created by Administrator on 2019/2/10. */ public class TestWalkDir { static class FileComponent { File curFile; List<FileComponent> fileComponen

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

题目: 遍历出aaa文件夹下的文件 首先分析思路: 1.首先判断这个文件夹是否为文件,通过isFile()函数可以判断是否为文件. 2.然后通过isDirectory判断是否为目录. 3.如果是目录就使用递归遍历目录 代码如下: 1 import java.io.File; 2 3 public class ZuoYe { 4 public static void main(String[] args) { 5 //创建file对象 6 File f=new File("d://新建文件夹&qu

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

#自定义函数: import ospath="D:\\Temp_del\\a" def gci (path): parents = os.listdir(path) for parent in parents: child = os.path.join(path,parent) #print(child) if os.path.isdir(child): gci(child) # print(child) else: print(child) gci(path) #使用os.walk方

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

<?php /** * PHP 非递归实现查询该目录下所有文件 * @param unknown $dir * @return multitype:|multitype:string */ function scanfiles($dir) { if (! is_dir ( $dir )) return array (); // 兼容各操作系统 $dir = rtrim ( str_replace ( '\\', '/', $dir ), '/' ) . '/'; // 栈,默认值为传入的目录 $

递归遍历目录拷贝cdh下的lib到一个目录

destpath='/home/hadoop/soft/hadoop-2.0.0-cdh4.5.0/cdhlib/'jarpath='/home/hadoop/soft/hadoop-2.0.0-cdh4.5.0/share/hadoop/'search='jar' iterdir(){    cd $1    for p in `ls`; do        echo "$p" |grep -q "$search"        if [ $? -eq 0 ]  

Java非递归遍历树算法---以遍历文件为例

在网上看到的算法,跟之前自己写的一个非遍历算法类似,先记录下来. 非递归: import java.io.File; import java.util.LinkedList; public class FileSystem { public static void main(String[] args) { long a = System.currentTimeMillis(); LinkedList list = new LinkedList(); File dir = new File("c

php 递归和非递归遍历目录下的所有文件

//php 递归实现遍历 用dir 返回对象 <?    function loop($dir){  $mydir =dir($dir);    //以对象的形式访问     while($file = $mydir ->read()){                         //目录中有隐藏文件'.'和'..' 遍历的时候需要注意             if((is_dir("$dir/$file")) && ($file!=".&q

linux目录操作及递归遍历目录

目录相关函数介绍 //mkdir 函数创建目录 #include <sys/stat.h> #include <sys/types.h> int mkdir(const char *pathname, mode_t mode); //rmdir 删除目录 #include <unistd.h> int rmdir(const char *pathname); //dopendir/fdopendir  //打开目录 DIR是一个结构体,是一个内部结构,用来存储读取目录的