ファイルをタイムスタンプ順にソートする
あまりカッコよくなけど、単純にこんなコードで実現してみた。
#西暦31,690,708年くらいまでは使えるハズ
public static File[] sortTimestamp(final File[] files) { if ((files == null) || (files.length == 0)) { return null; } // タイムスタンプ+ファイル名のリストを生成する List<String> fileList = new ArrayList<String>(); for ( int i = 0 ; i < files.length ; i++ ) { fileList.add(String.valueOf(1000000000000000000L + files[i].lastModified()) + "_" + files[i].getAbsolutePath()); } // タイムスタンプ+ファイル名のリストをソートする(文字列比較で古いファイルから昇順に並ぶ) Collections.sort(fileList); // ソートされたリストからファイルの配列を生成する File[] ret = new File[files.length]; for ( int i = 0 ; i < files.length ; i++ ) { ret[i] = new File(fileList.get(i).substring(20)); } return ret; }