Java File list()方法及示例
list() 方法是文件类的一部分。该函数返回一个字符串数组,表示给定的抽象路径名中的文件,如果该路径名是一个目录,则返回空。该函数是一个重载函数。其中一个函数没有任何参数,另一个函数需要FilenameFilter对象作为参数。
函数签名
public String[] list()
public String[] list(FilenameFilter f)
函数语法
file.list()
file.list(filter)
参数: 该函数是一个重载函数。其中一个函数没有任何参数,另一个函数将 FilenameFilter对象 作为参数。
返回值: 该函数返回一个字符串数组,如果文件对象是文件,则返回空值。
异常: 如果该函数不允许对文件进行写入访问,则该方法会抛出安全异常。
下面的程序将说明list()函数的使用情况
例1: 我们将尝试找到一个给定目录中的所有文件和目录
// Java program to demonstrate the
// use of list() function
import java.io.*;
public class solution {
public static void main(String args[])
{
// try-catch block to handle exceptions
try {
// Create a file object
File f = new File("f:\\program");
// Get all the names of the files present
// in the given directory
String[] files = f.list();
System.out.println("Files are:");
// Display the names of the files
for (int i = 0; i < files.length; i++) {
System.out.println(files[i]);
}
}
catch (Exception e) {
System.err.println(e.getMessage());
}
}
}
输出
Files are:
1232.txt
1245.txt
5671.txt
program1
例2: 我们将尝试在一个给定的目录中找到名称以 “12 “开头的所有文件和目录。
// Java program to demonstrate the
// use of list() function
import java.io.*;
public class solution {
public static void main(String atry-catch {
// try catch block to handle exceptions
try {
// Create a file object
File f = new File("f:\\program");
// Create a FilenameFilter
FilenameFilter filter = new FilenameFilter() {
public boolean accept(File f, String name)
{
return name.startsWith("12");
}
};
// Get all the names of the files present
// in the given directory
// and whose names start with "12"
String[] files = f.list(filter);
System.out.println("Files are:");
// Display the names of the files
for (int i = 0; i < files.length; i++) {
System.out.println(files[i]);
}
}
catch (Exception e) {
System.err.println(e.getMessage());
}
}
输出
Files are:
1232.txt
1245.txt
这些程序可能无法在在线IDE中运行。请使用离线IDE并设置文件的父文件