Java Java.io.File.list() 方法

  • 描述

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

    以下是java.io.File.list(FilenameFilter filter)方法的声明-
     public String[] list(FilenameFilter filter)
  • 参数

    不适用
  • 返回值

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

    SecurityException如果安全管理器存在并且其SecurityManager.checkRead(java.lang.String)方法拒绝对该文件的读取访问
  • 例子

    以下示例显示java.io.File.list(FilenameFilter filter)方法的用法。
     
    package com.jc2182;
    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