Java如何在目录中列出.txt文件?可实现java.io.FilenameFilter接口的类实例用于过滤文件名。 通常,java.io.File类的listFiles()方法返回目录中的所有文件对象。 通过将过滤器作为参数传递,我们可以限制listFiles()方法返回的对象数。
以下是使用FilenameFilter过滤.txt文件的示例。
文件:FilenameFilterExample.java -
package com.yiibai.tutorial.io;
import java.io.File;
import java.io.FilenameFilter;
/**
* @author yiibai
*/
public class FilenameFilterExample {
public static void main(String[] args) {
File directoryPath = new File("C:/Program Files/Java/jre1.8.0_111");
//List all files and directories
System.out.println("------------All files------------");
for (File file : directoryPath.listFiles()) {
System.out.println(file.getName());
}
//List text files only
System.out.println("\n------------Text files------------");
File[] files=directoryPath.listFiles(new FilenameFilter() {
@Override
public boolean accept(File dir String name) {
return name.endsWith(".txt");
}
});
for (File file : files) {
System.out.println(file.getName());
}
}
}
执行上面示例代码,得到以下结果:
------------All files------------
bin
COPYRIGHT
lib
LICENSE
README.txt
release
THIRDPARTYLICENSEREADME-JAVAFX.txt
THIRDPARTYLICENSEREADME.txt
Welcome.html
------------Text files------------
README.txt
THIRDPARTYLICENSEREADME-JAVAFX.txt
THIRDPARTYLICENSEREADME.txt