Java File类File [] listFiles(FileFilter ff)方法(带示例)

File类File [] listFiles(FileFilter ff)

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

  • 此方法用于返回文件路径数组,该数组指示给定目录中的文件和目录,这些文件和目录在满足指定过滤器的文件路径中表示。

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

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

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

语法:

    File[] listFiles(FileFilter ff){
    }

参数:

我们仅在方法中传递一个对象FileFilter作为参数,借助此参数,我们可以使用filter查找文件或目录(即可以找到特定的文件)。

返回值:

此方法的返回类型为File [],即,它返回一个文件路径数组,该数组指示文件路径中表示的所有文件名或目录。

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

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

//导入Exception类,因为它可能会引发 
//处理文件时出现异常
import java.lang.Exception;

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

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

                public boolean accept(File file) {
                    return file.getName().endsWith("pdf");
                }
            };
            //通过使用list(ff)返回一个文件数组,表示所有 
            //文件路径中表示的文件和目录 
            //如果文件路径是目录和所有文件,或者 
            //目录以“ pdf”结尾。
            File[] filelist = file.listFiles(ff);

            System.out.println("These are the name of files represented in a given directory whose name ends with doc :");
            //通过使用循环遍历文件名和目录 
            //在给定的路径。
            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 ToListFiles.java

D:\Programs>java ToListFiles
These are the name of files represented in a given directory whose name ends with pdf :
DurgaSoft-Part-1_JavabynataraJ.pdf
DurgaSoft-Part-2_JavabynataraJ.pdf