FileFilter インターフェイスの利用例

 指定拡張子の画像ファイル群を、ファイル変更時間の新しい順で取得

以下では、カレントディレクトリ『"."』をベースにして、 ファイルを群を取得する時に、FileFilterインターフェイスを継承した匿名クラスを生成し、 その抽象メソッドacceptの実装で、ファイル拡張子が『"jpg"』を抽出させています。
その後、取得した配列は、更新時間の新しい順で並び替えています。

import java.io.File;
import java.io.FileFilter;
import java.util.Arrays;
import java.util.Comparator;

// 指定拡張子の画像ファイル群を、ファイル変更時間の新しい順で取得
public class Test {

	static File [] getFiles_orderTime(String basePath) throws Exception{
		File dir = new File(basePath);
		//マッチする画像ファイル群を取得
		File [] files = dir.listFiles(new FileFilter(){
			@Override
			public boolean accept(File file) {
				if(file.isDirectory()) return false;
				String name = file.getName().toLowerCase();
				if(name.endsWith(".jpg") == false) return false;
				return true;
			}
		});
		//時間の新しい順で並び替えための比較オブジェクトを取得
		Comparator <File> comparator = new Comparator <File>(){
			@Override
			public int compare(File o1, File o2) {
				return -(int)(o1.lastModified() - o2.lastModified());//降順のマイナス指定
			}
		};
		Arrays.sort( files , comparator);
		return files;
	}

	//イメージタグの列挙用文字列を取得
	static String getStringForImageTags(String basePath, File [] files){
		String str = "";
		for(File f : files){
			str += "<img src='" + basePath + "/" + f.getName() + "'><br>\n";
		}
		return str;
	}

	public static void main(String args[]) throws Exception{
		String basePath = ".";
		File [] files = getFiles_orderTime(basePath);
		String str = getStringForImageTags(basePath, files);
		System.out.println(str);
	}
}