ディレクトリ内の特定の拡張子を持つファイルのリストを取得したいと思います。API(Java 6)には、File.listFiles(FileFilter)
これを行うメソッドがあります。
特定の拡張子が必要なため、を作成しましたFileNameExtensionFilter
。ただしlistFiles
、これを使用するとコンパイルエラーが発生します。以来FileNameExtensionFilter implements FileFilter
、私はこれを行うことができるはずだと思いました。コードは次のとおりです。
FileNameExtensionFilter filter = new FileNameExtensionFilter("text only","txt");
String dir = "/users/blah/dirname";
File f[] = (new File(dir)).listFiles(filter);
最後の行はコンパイルエラーを示しています。
タイプFileのメソッドlistFiles(FileNameFilter)は、タイプFileNameExtensionFilterの引数には適用できません。
私は使用しようとしていますがlistFiles(FileFilter)
、ではありませんlistFiles(FileNameFilter)
。コンパイラがこれを認識しないのはなぜですか?
これは、を拡張する独自の拡張フィルターを作成した場合に機能しますFileFilter
。自分FileNameExtensionFilter
で書くよりも使いたいです。私は何が間違っているのですか?