在java中如何遍历某个路径下的所有文件夹和文件

在java中如何遍历某个路径下的所有文件夹和文件,第1张

首先,我们先来遍历一下D盘根目录下所有的子文件:public

static

void

fileList()

{

File

file=new

File("d:/")

File[]

files

=

file.listFiles()

if

(files

!=

null)

{

for

(File

f

:

files)

{

System.out.println(f.getPath())

}

}

}对此,我们肯定不满足,我们需要遍历D盘下所有的文件和文件夹,而不是根目录下的文件夹,这个时候我们需要使用到递归:public

static

void

fileList(File

file)

{

File[]

files

=

file.listFiles()

if

(files

!=

null)

{

for

(File

f

:

files)

{

System.out.println(f.getPath())

fileList(f)

}

}

}然后在主函数中调用:public

static

void

main(String[]

args)

{

File

file=new

File("d:/")

fileList(file)

}结果是不是能令你满意呢?显然,输出的都是全路径,我们可以对我们的递归函数做如下改进:

public

static

void

fileList(File

file,int

node)

{

node++

File[]

files

=

file.listFiles()

if

(files

!=

null)

{

for

(File

f

:

files)

{

for(int

i=0i<nodei++){

if(i==node-1){

System.out.print("├")

}

else{

System.out.print("

")

}

}

System.out.println(f.getName())

fileList(f,node)

}

}

}然后再次在主函数中调用:public

static

void

main(String[]

args)

{

File

file=new

File("d:/")

fileList(file,0)

}得到的结果是一个类似树状的结构,如果你对此还不满意,可以尝试给JTree上添加节点,可以做到和资源管理器中一样的结构。

大概思路讲解:首先拿到test里所有的文件夹与文件,然后遍历文件夹,再拿到子文件夹里的所有文件夹与文件,如果有子子文件夹,在拿到这个子子文件夹里的所有文件夹与文件,遍历。这样一想,就非常像递归,就用递归好了。

后台Node.js这个文件tree接口就写完了,然后用Postman测一下

顺利拿到JSON格式的数据,接口over

然后是前端页面的获取,以及填充


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/8137786.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存