Java.io.File.listFiles() 方法

描述

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.tutorialspoint;

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:\test\child_test.txt