Java文件类String [] list(FilenameFilter fnf)方法,带示例

File Class String []list(FilenameFilter fnf)

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

  • 此方法用于以字符串数组的形式返回所有文件的名称,这些字符串以文件路径表示。

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

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

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

语法:

    String[] list(){
    }

参数:

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

返回值:

此方法的返回类型为String [],即它以字符串路径返回所有文件名,这些字符串以文件路径表示。

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

// import the File class because we will use File class methods
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("J");
                }
            };
            //通过使用list(fnf)返回所有文件和目录 
            //,则在文件路径中表示 
            //目录,所有文件或目录均以“ J”开头。

            String[] filelist = file.list(fnf);

            System.out.println("这些是给定目录中表示的文件名:" + file.getPath());
            //通过使用循环遍历文件名和目录 
            //在给定的路径。
            for (int i = 0; i < filelist.length; i++)
                System.out.println(filelist[i]);

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

输出结果

D:\Programs>javac ToListSpecificFiles.java

D:\Programs>java ToListSpecificFiles
这些是给定目录中表示的文件名 :C:\Users\computer clinic\OneDrive\Articles
Java File Class canExecute().docx
Java File Class canRead().docx
Java File Class canWrite().docx