Java文件类String [] list(FilenameFilter fnf)方法,带示例
FileClassString[]list(FilenameFilterfnf)
软件包java.io.File.list(FilenameFilterfnf)中提供了此方法。
此方法用于以字符串数组的形式返回所有文件的名称,这些字符串以文件路径表示。
此方法的返回类型为String[],即,如果给定路径为目录,则返回文件路径中表示的所有文件或目录的字符串数组,否则返回null。
如果未授予文件写入权限,则此方法可能会引发异常(即SecurityException)。
此方法是可重写的。第一种方法不接受任何参数,第二种方法则接受一个参数。
语法:
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