Java读取文件目录和文件,并且按照文件层次输出文件名和目录名。

本文提供了一个使用Java实现的简单目录遍历示例代码,该代码能够读取指定路径下最多三层的文件夹结构,并忽略特定命名的文件。通过递归的方式,此示例展示了如何列出文件和子目录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

只是临时写的代码,没有使用递归,对于多级的建议修改成递归方式。
本代码可以读取三层目录。
输出样例为:
这里写图片描述

String path = "C:/Users/admin/Desktop/近期/Python";
		File dir = new File(path);
        File[] files = dir.listFiles();   //百度文库
        if (files == null) {
            return;
        }
        for (int i = 0; i < files.length; i++) {
            if (files[i].isDirectory()) {  //第一层
            	 File[] files1 = files[i].listFiles();
            	 if (files1 == null) {
                     return;
                 }
            	 System.out.println(files[i].getName());
            	 for (int ii = 0; ii < files1.length; ii++) {
                     if (files1[ii].isDirectory()) {  //第2层
                     	 File[] files2 = files1[ii].listFiles();
                     	 if (files2 == null) {
                              return;
                          }
                     	 System.out.println("\t"+files1[ii].getName());
                     	 for (int iii = 0; iii < files2.length; iii++) {
                             if (files2[iii].isDirectory()) {  //第3层
                             	 File[] files3 = files2[iii].listFiles();
                             	 if (files3 == null) {
                                      return;
                                  }
                             	 System.out.println("未完待续");
                             	 
                             } else {
                            	 if(!files2[iii].getName().contains(".FYTEMP"))
                                  System.out.println("\t\t"+files2[iii].getName());
                             }
                         }
                     	 
                     } else {
                    	 if(!files1[ii].getName().contains(".FYTEMP"))
                        System.out.println("\t"+files1[ii].getName());
                     }
                 }
            	 
            } else {
            	if(!files[i].getName().contains(".FYTEMP"))
                  System.out.println(files[i].getName());
            }
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值