如何使用 Java 列出目录中的所有文件(仅限文件)?
listFiles() 方法返回一个数组,其中包含当前 (File) 对象表示的路径中的所有文件(和目录)的对象(抽象路径)。
文件过滤器接口是路径名的过滤器,可以将其作为参数传递给 listFiles() 方法。此方法会过滤传给所传过滤器的文件名。
要获取文件夹中的文件,请实现一个仅接受文件的文件过滤器,并将其作为参数传递给 listFiles() 方法。
以下是 ExampleDirectory 内容的屏幕截图

示例
import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
public class Demo{
public static void main(String args[]) throws IOException {
//Creating a File object for directory
File directoryPath = new File("D:\ExampleDirectory");
//Creating filter for directories files
FileFilter fileFilter = new FileFilter(){
public boolean accept(File dir) {
if (dir.isFile()) {
return true;
} else {
return false;
}
}
};
File[] list = directoryPath.listFiles(fileFilter);
System.out.println("List of the jpeg files in the specified directory:");
for(File fileName : list) {
System.out.println(fileName);
}
}
}输出
List of the jpeg files in the specified directory: D:\ExampleDirectory\demo1.pdf D:\ExampleDirectory\demo2.pdf D:\ExampleDirectory\sample1.txt D:\ExampleDirectory\sample2.txt D:\ExampleDirectory\sample3.txt D:\ExampleDirectory\sample_jpeg1.jpg D:\ExampleDirectory\sample_jpeg2.jpg D:\ExampleDirectory\test1.docx D:\ExampleDirectory\test2.docx
示例
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.stream.Stream;
public class ListOfFiles {
public static void main(String[] args) throws IOException {
Stream<Path> path = Files.walk(Paths.get("D:\ExampleDirectory"));
path = path.filter(Files::isRegularFile);
path.forEach(System.out::println);
}
}输出
D:\ExampleDirectory\demo1.pdf D:\ExampleDirectory\demo2.pdf D:\ExampleDirectory\sample1.txt D:\ExampleDirectory\sample2.txt D:\ExampleDirectory\sample3.txt D:\ExampleDirectory\sample_jpeg1.jpg D:\ExampleDirectory\sample_jpeg2.jpg D:\ExampleDirectory\test1.docx D:\ExampleDirectory\test2.docx
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP