ファイル名、変更時間、ファイルサイズでソート
1.ファイル名で並べ替え、中国語名はピンインの頭文字、すなわちA-Zである.
2.古いものから新しいものまで、ファイルの変更時間順に並べ替えます.
3.ファイルサイズで並べ替え、小さいものから大きいものまで:
最後にファイルリストfileList:
リストの逆順:
/**
* ( A Z)
*/
private static class CompratorByFileName implements Comparator<File>{
@Override
public int compare(File lhs,
File rhs) {
Comparator cmp = Collator.getInstance(java.util.Locale.CHINA);
return cmp.compare(lhs.name , rhs.name);
}
@Override
public boolean equals(Object o) {
return true;
}
}
2.古いものから新しいものまで、ファイルの変更時間順に並べ替えます.
/**
* ( )
*
*/
private static class CompratorByFileTime implements
Comparator<File> {
@Override
public int compare(File file1,
File file2) {
int diff = 0;
try {
diff = file1._rev.compareTo(file2._rev);
} catch (NullPointerException e) {
diff = 1;
}
if (diff > 0) {
return 1;
} else if (diff == 0) {
return 0;
} else {
return -1;
}
}
@Override
public boolean equals(Object o) {
return true;
}
}
3.ファイルサイズで並べ替え、小さいものから大きいものまで:
/**
* ( )
*/
private static class CompratorByFileSize implements Comparator<File>{
@Override
public int compare(File lhs,
File rhs) {
if (lhs._size > rhs._size) {
return 1;
} else if (lhs._size == rhs._size) {
return 0;
} else {
return -1;
}
}
@Override
public boolean equals(Object o) {
return true;
}
}
最後にファイルリストfileList:
Collections.sort(fileList, new CompratorByFilexxxx());
リストの逆順:
Collections.reverse(fileList);