私は java.io API を使用しています。以下のパターンの私のディレクトリにはたくさんのファイルがあります。
FilenameFilter fileFilter = new FilenameFilter() {
public boolean accept(File dir, String name) {
return name.matches(filePrefix+"_.*\\."+fileExt);
}
};
String listFiles [] = dirFile.list(fileFilter);
for(int i = 0 ;i < listFiles.length ; i++){
listOfFiles.add(listFiles[i]);
// need only 10 files to processed
if(i == 10){
break;
}
}
list
メソッドが何に基づいてリストを取得するかを知りたかったのです。たとえば、時間ベースの並べ替えが必要な場合-最も古い/または最新の10個のファイルが必要な場合です。
どうしよう。
解決 :
Arrays.sort(listFiles, new Comparator<File>() {
@Override
public int compare(File f1, File f2) {
return Long.valueOf(f1.lastModified()).compareTo(f2.lastModified());
}
});