2011年11月30日水曜日

( Java )ファイルを複数拡張子フィルタリングし取得する。

時間がとれたので今日は2~3回投稿。
まずはJavaの話題。
ファイルを複数の拡張子でフィルタリングする場合以下のクラスを使う。

public class FileFilter implements FilenameFilter{
    private final String FILTER_KEYWORD = ".jpg";
    private final String FILTER_KEYWORD2 = ".JPG";
   
    public boolean accept(File dir, String name){
        File file = new File(name);
        if(file.isDirectory()){
            return false;
        }
        return(name.endsWith(FILTER_KEYWORD)|| name.endsWith(FILTER_KEYWORD2));
    }
}

んでこれを

String[] imageArray;
File dir;

dir = new File("C:\とか");
imageArray = dir.list(new FileFilter());

のようにして使う。FILTER_KEYWORDの部分を変更したり、あるいは増やせば、さらに別の拡張子を取得したり、拡張子フィルタの種類を増やすことができる。