Java.io.File.list() 方法

描述

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