位置:首頁 > 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