String list(FilenameFilter filter)


描述

所述java.io.File.list(FilenameFilter filter)返回的文件和目录的中满足指定过滤此抽象路径名定义的目录中的阵列。如果给定的过滤器为空,则接受所有名称。

声明

以下是java.io.File.list(FilenameFilter filter)方法的声明

public String[] list(FilenameFilter filter)

参数

NA

返回值

该方法返回由此抽象路径名定义的目录中的文件和目录数组,该目录满足给定的过滤器。

异常

SecurityException - 如果存在安全管理器且其SecurityManager.checkRead(java.lang.String)方法拒绝对文件的读访问权

实例

以下示例显示了java.io.File.list(FilenameFilter filter)方法的用法。

package com.tutorialspoint;

import java.io.File;
import java.io.FilenameFilter;

public class FileDemo implements FilenameFilter {

   String str;

   // constructor takes string argument
   public FileDemo(String ext) {
      str = "."+ext;
   }

   // main method
   public static void main(String[] args) {      
      String[] paths;

      try {    

         // create new file
         f = new File("c:/test");

         // create new filter
         FilenameFilter filter = new FileDemo("txt");

         // array of files and directory
         paths = f.list(filter);

         // for each name in the path array
         for(String path:paths) {

            // prints filename and directory name
            System.out.println(path);
         }

      } catch(Exception e) {
         // if any error occurs
         e.printStackTrace();
      }
   }

   @Override
   public boolean accept(File dir, String name) {
      return name.endsWith(str);
   }
}

让我们编译并运行上面的程序,这将产生以下结果

child_test.txt