File listFiles(FilenameFilter filter)


描述

所述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