位置:首页 > Java技术 > Java.io包 > java.io.File.list(FilenameFilter filter)方法实例

java.io.File.list(FilenameFilter filter)方法实例

java.io.File.list(FilenameFilter filter) 返回的文件和目录由满足给定的过滤器这个抽象路径名指定的目录中的数组。如果给定的过滤器为null,所有的名字都接受。

声明

以下是 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.yiibai;

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) {
      
      File f = null;
      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