使用File类递归列出E盘下全部文件


import java.io.File;
public class FileListTest {
    public void tree(File file){
        if(file.listFiles()!=null)//当目录File所代表的目录下存在文件时执行递归操作
        {
            File[] list = file.listFiles();
            for(File test : list)
            {
                if(test.isDirectory())
                {
                    tree(new File(test.getAbsolutePath()+"\\"));//为目录File时进行递归
                }
                System.out.print(test.getAbsolutePath());
            }
        }
    }
    public static void main(String[] args) {
        File file = new File("E:\\");
        FileListTest test = new FileListTest();
        test.tree(file);
    }
}

转载于:https://www.cnblogs.com/akiradunn/p/5854562.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是递归实现列出当前工程下所有.java文件的代码: ```java import java.io.File; public class ListJavaFiles { public static void main(String[] args) { File projectDir = new File("."); listJavaFiles(projectDir); } public static void listJavaFiles(File dir) { File[] files = dir.listFiles(); for (File file : files) { if (file.isDirectory()) { listJavaFiles(file); } else if (file.getName().endsWith(".java")) { System.out.println(file.getAbsolutePath()); } } } } ``` 代码解析: 1. 首先定义了一个 `listJavaFiles` 方法,该方法接收一个 `File` 型的参数,表示要列出其中的所有 `.java` 文件。 2. 在方法中,首先调用 `listFiles` 方法获取当前目录下的所有文件文件夹。 3. 然后遍历这些文件文件夹,如果是文件夹,则递归调用 `listJavaFiles` 方法,如果是 `.java` 文件,则输出其绝对路径。 4. 在 `main` 方法中,首先获取当前工程的目录,然后调用 `listJavaFiles` 方法,即可列出所有 `.java` 文件的路径。 注意事项: 1. 代码中使用了 `endsWith` 方法判断文件名是否以 `.java` 结尾,这种方式并不是非常严谨,因为有可能存在文件名为 `.java` 的文件,但是不是 Java文件。更好的方式是使用正则表达式判断文件内容是否符合 Java 语法规范。 2. 代码中没有处理文件访问权限的问题,如果当前用户没有读取某个文件的权限,程序将会抛出异常。可以在代码中添加异常处理逻辑,或者使用 Java 8 的新特性 `Files.walk` 方法来遍历文件,该方法可以自动处理文件访问权限的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值