Java-io-file-list-filter

提供:Dev Guides
移動先:案内検索

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.finddevguides;

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