java.io.File.listFiles(FilenameFilter filter) 返回抽象路径名数组,表示在目录中此抽象路径名表示,满足指定过滤器的文件和目录。
声明
以下是java.io.File.listFiles(FilenameFilter filter)方法的声明:
public File[] listFiles(FilenameFilter filter)
参数
-
filter - 文件名过滤器
返回值
该方法返回抽象路径名数组,表示在目录中此抽象路径名表示,满足指定过滤器的文件和目录。
异常
-
SecurityException -- 如果安全管理器存在并且其SecurityManager.checkRead(java.lang.String) 方法拒绝对文件的读访问
例子
下面的例子显示java.io.File.listFiles(FilenameFilter filter)方法的用法。
package com.yiibai;
import java.io.File;
import java.io.FilenameFilter;
public class FileDemo {
public static void main(String[] args) {
File f = null;
File[] paths;
try{
// create new file
f = new File("c:/test");
// create new filename filter
FilenameFilter fileNameFilter = new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
if(name.lastIndexOf('.')>0)
{
// get last index for '.' char
int lastIndex = name.lastIndexOf('.');
// get extension
String str = name.substring(lastIndex);
// match path name extension
if(str.equals(".txt"))
{
return true;
}
}
return false;
}
};
// returns pathnames for files and directory
paths = f.listFiles(fileNameFilter);
// for each pathname in pathname array
for(File path:paths)
{
// prints file and directory paths
System.out.println(path);
}
}catch(Exception e){
// if any error occurs
e.printStackTrace();
}
}
}
让我们编译和运行上面的程序,这将产生以下结果:
c: estchild_test.txt