Java递归获取文件夹下所有文件(含子文件夹)

在Java编程中,经常需要获取指定文件夹下的所有文件,包括子文件夹中的文件。递归是一种简洁高效的解决方案。

以下是一段使用递归方法获取文件夹下所有文件的Java代码示例:

import java.io.File;

public class FileScanner {
    public static void main(String[] args) {
        File folder = new File('path/to/folder');
        listFiles(folder);
    }

    public static void listFiles(File folder) {
        if (folder.isDirectory()) {
            File[] files = folder.listFiles();
            if (files != null) {
                for (File file : files) {
                    listFiles(file);
                }
            }
        } else {
            System.out.println(folder.getAbsolutePath());
        }
    }
}

代码解析:

  1. listFiles(File folder) 方法:

    • 接收一个 File 对象作为参数,表示要遍历的文件夹。
    • 使用 folder.isDirectory() 判断是否为文件夹。
    • 如果是文件夹,则使用 folder.listFiles() 获取文件夹下所有文件和子文件夹,返回一个 File 数组。
    • 遍历 File 数组,对每个元素递归调用 listFiles() 方法,实现深度遍历。
    • 如果不是文件夹,则使用 folder.getAbsolutePath() 获取文件的绝对路径并打印。
  2. main() 方法:

    • 创建一个 File 对象,指向目标文件夹。
    • 调用 listFiles() 方法开始递归遍历。

使用方法:

  1. path/to/folder 替换为实际的目标文件夹路径。
  2. 运行代码,程序会打印目标文件夹下所有文件的绝对路径,包括子文件夹中的文件。

总结:

使用递归方法可以方便地获取Java中指定文件夹下的所有文件,代码简洁易懂,是处理文件系统相关任务的常用技巧。

Java递归获取文件夹下所有文件(含子文件夹)

原文地址: https://www.cveoy.top/t/topic/fYMK 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录