java 遍历目录_Java如何遍历目录?

在Java程序中,如何遍历目录?

以下示例演示如何通过File类的dir.isDirectory()和dir.list()方法遍历目录。

package com.yiibai;

import java.io.File;

import java.io.IOException;

public class TraversingDirectory {

public static void main(String[] argv) throws Exception {

System.out.println("The Directory is traversed.");

String dir = "F:/worksp/javaexamples/java_directories";

File file = new File(dir);

visitAllDirsAndFiles(file, 0);

}

static void visitAllDirsAndFiles(File file, int indent) throws IOException {

for (int i = 0; i <= indent; i++) {

System.out.print('-');

}

System.out.println(file.getName());

if (file.isDirectory()) {

File[] files = file.listFiles();

for (int i = 0; i < files.length; i++)

visitAllDirsAndFiles(files[i], indent + 2);

}

}

}

执行上面示例代码,得到以下结果 -

The Directory is traversed.

-java_directories

---.classpath

---.project

---bin

-----com

-------yiibai

---------CreateDirectories.class

---------DeleteDirectory.class

---------DirectoryHierarchy.class

---------DirectoryHierarchy2.class

---------DirectoryModificationTime.class

---------DirectoryModificationTime2.class

---------DirectorySize.class

---------DirectorySize2.class

---------EmptyDirectory.class

---------HiddenDirectory.class

---------HiddenDirectory2.class

---------ParentDirectory.class

---------ParentDirectory2.class

---------SearchingFiles.class

---------SearchingFiles2.class

---------TraversingDirectory.class

---dir11

-----dir12

-------dir13

-----file1 - 副本.txt

-----file1.txt

---myfile.txt

---src

-----com

-------yiibai

---------CreateDirectories.java

---------DeleteDirectory.java

---------DirectoryHierarchy.java

---------DirectoryHierarchy2.java

---------DirectoryModificationTime.java

---------DirectoryModificationTime2.java

---------DirectorySize.java

---------DirectorySize2.java

---------EmptyDirectory.java

---------HiddenDirectory.java

---------HiddenDirectory2.java

---------ParentDirectory.java

---------ParentDirectory2.java

---------SearchingFiles.java

---------SearchingFiles2.java

---------TraversingDirectory.java

¥ 我要打赏

纠错/补充

收藏

加QQ群啦,易百教程官方技术学习群

注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值