java遍历指定文件夹下的所有子文件夹怎么 *** 作?

java遍历指定文件夹下的所有子文件夹怎么 *** 作?,第1张

import java.io.File \x0d\x0aimport java.io.IOException \x0d\x0apublic class FileDemo11{\x0d\x0apublic static void main(String args[]){\x0d\x0aFile my = new File("d:" + File.separator) // *** 作路径,可以有外部参数决定的\x0d\x0aprint(my) \x0d\x0a}\x0d\x0apublic static void print(File file){// 递归调用\x0d\x0aif(file!=null){// 判断对象是否为空\x0d\x0aif(file.isDirectory()){// 如果是目录\x0d\x0aFile f[] = file.listFiles() // 列出全部的文件\x0d\x0aif(f!=null){// 判断此目录能否列出\x0d\x0afor(int i=0i<f.lengthi++){\x0d\x0aprint(f[i]) // 因为给的路径有可能是目录,所以,继续判断\x0d\x0a}\x0d\x0a}\x0d\x0a}else{\x0d\x0aSystem.out.println(file) // 输出路径\x0d\x0a}\x0d\x0a}\x0d\x0a}\x0d\x0a}

A.不使用递归:

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:\\java\\")

File file[] = dir.listFiles()

for (int i = 0i <file.lengthi++) {

if (file[i].isDirectory())

list.add(file[i])

else

System.out.println(file[i].getAbsolutePath())

}

File tmp

while (!list.isEmpty()) {

tmp = list.removeFirst()

if (tmp.isDirectory()) {

file = tmp.listFiles()

if (file == null)

continue

for (int i = 0i <file.lengthi++) {

if (file[i].isDirectory())

list.add(file[i])

else

System.out.println(file[i].getAbsolutePath())

}

} else {

System.out.println(tmp.getAbsolutePath())

}

}

System.out.println(System.currentTimeMillis() - a)

}

}


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

原文地址: http://outofmemory.cn/tougao/8146317.html

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

发表评论

登录后才能评论

评论列表(0条)

保存