📅  最后修改于: 2023-12-03 14:53:15.654000             🧑  作者: Mango
在Java中,我们经常需要获取某个文件夹中所有文件的名称。下面介绍几种实现方式。
我们可以使用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
与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
我们还可以使用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
以上就是获取某个文件夹下所有文件名的三种实现方式。在具体应用中,可以根据需要选择相应的方法。