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