📌  相关文章
📜  如何获取java文件夹中所有文件的名称? - Java (1)

📅  最后修改于: 2023-12-03 14:53:15.654000             🧑  作者: Mango

如何获取java文件夹中所有文件的名称? - Java

在Java中,我们经常需要获取某个文件夹中所有文件的名称。下面介绍几种实现方式。

方法一:使用File类的list()方法

我们可以使用File类的list()方法获取某个文件夹下的所有文件名:

import java.io.*;

public class FileListDemo {
    public static void main (String[] args) {
        // 要遍历的文件夹路径
        File dir = new File("D:\\temp");

        // 获取该文件夹下所有的文件名
        String[] list = dir.list();
        if (list == null) {
            System.out.println("该文件夹不存在");
            return;
        }

        // 遍历打印所有文件名
        for (String file : list) {
            System.out.println(file);
        }
    }
}

打印结果如下:

XXX.txt
XXX.docx
XXX.jpg
方法二:使用File类的listFiles()方法

与list()方法类似,我们也可以使用File类的listFiles()方法获取某个文件夹下的所有文件(包括文件夹):

import java.io.*;

public class FileListDemo {
    public static void main (String[] args) {
        // 要遍历的文件夹路径
        File dir = new File("D:\\temp");

        // 获取该文件夹下所有的文件File对象
        File[] files = dir.listFiles();
        if (files == null) {
            System.out.println("该文件夹不存在");
            return;
        }

        // 遍历打印所有文件名
        for (File file : files) {
            System.out.println(file.getName());
        }
    }
}

打印结果如下:

XXX.txt
XXX.docx
XXX.jpg
方法三:使用Files类的walk()方法

我们还可以使用Java 8的新特性,即Files类的walk()方法,快速地遍历某个文件夹下的所有文件(包括子文件夹):

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class FileListDemo {
    public static void main(String[] args) {
        // 要遍历的文件夹路径
        Path path = Paths.get("D:\\temp");

        // 遍历所有文件,包括子文件夹
        try {
            Files.walk(path).filter(Files::isRegularFile).forEach(System.out::println);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

打印结果如下:

D:\temp\XXX.txt
D:\temp\XXX.docx
D:\temp\XXX.jpg

以上就是获取某个文件夹下所有文件名的三种实现方式。在具体应用中,可以根据需要选择相应的方法。