软件包java.io.File.listFiles(FileFilter fnf)中提供了此方法。
此方法用于返回文件路径数组,该数组指示给定目录中的文件和目录,这些文件和目录在满足指定过滤器的文件路径中表示。
此方法的返回类型为File [],即,它返回一个文件路径数组,该数组指示如果给定路径是目录,则在文件路径中表示的文件或目录,否则返回null。
如果未授予文件写入权限,则此方法可能会引发异常(即Security Exception)。
此方法是可重写的。第一种方法不接受任何参数,第二种方法接受一个参数,而第三种方法也接受一个参数。
语法:
File[] listFiles(FileFilter ff){ }
参数:
我们仅在方法中传递一个对象FileFilter作为参数,借助此参数,我们可以使用filter查找文件或目录(即可以找到特定的文件)。
返回值:
此方法的返回类型为File [],即,它返回一个文件路径数组,该数组指示文件路径中表示的所有文件名或目录。
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