Java File类File [] listFiles(FilenameFilter fnf)方法(带示例)

File类File [] listFiles(FilenameFilter fnf)

  • 软件包java.io.File.listFiles(FilenameFilter fnf)中提供了此方法。

  • 此方法用于以文件路径形式返回的文件数组形式返回所有文件的名称。

  • 此方法的返回类型为File [],即,如果给定路径为目录,则返回文件路径中表示的文件或目录的数组,否则返回null。

  • 如果未授予文件写入权限,则此方法可能会引发异常(即Security Exception)。

  • 此方法是可重写的。第一种方法不接受任何参数,第二种方法接受一个参数,而第三种方法也接受一个参数。

语法:

    File[] listFiles(FilenameFilter fnf){
    }

参数:

我们在方法中仅传递一个对象FilenameFilter作为参数,借助此参数,我们可以找到带有filter的文件(即,可以找到特定的文件)。

返回值:

此方法的返回类型为File [],即它以文件路径表示的文件数组形式返回所有文件名。

Java程序演示listFiles()方法示例

//导入File类,因为我们将使用File类方法
import java.io.*;

//导入Exception类,因为它可能引发异常 
//使用文件时
import java.lang.Exception;

public class ToListSpecificFiles {
    public static void main(String[] args) {
        try {
            //指定文件的路径,我们使用双斜杠 
            //为Windows转义'\'字符序列 
            File file = new File("C:\\Users\\computer clinic\\OneDrive\\Articles");

            //创建一个FilenameFilter对象
            FilenameFilter fnf = new FilenameFilter() {

                public boolean accept(File file, String name) {
                    return name.startsWith("H");
                }
            };
            //通过使用list(fnf)返回所有文件和目录 
            //,则在文件路径中表示 
            //目录,所有文件或目录均以“ J”开头。

            File[] filelist = file.listFiles(fnf);

            System.out.println("These are the name of files represented in a given directory whose name starts with H :" + file.getPath());

            //通过使用循环遍历文件名 
            //和目录中的给定路径。
            for (int i = 0; i < filelist.length; i++)
                System.out.println(filelist[i].getName());

        } catch (Exception e) {
            System.out.println("An error occurred.");
            e.printStackTrace();
        }
    }
}

输出结果

D:\Programs>javac ToListSpecificFiles.java

D:\Programs>java ToListSpecificFiles
These are the name of files represented in a given directory whose name starts with H:C:\Users\computer clinic\OneDrive\Articles
How to add characters to a string in Java.docx
How to add double quotes to a string in Java.docx
How to avoid NullPointerException in Java.docx
How to check if directory exists in java.docx
How to set path in Java for Windows.docx