如題。File folder =new File(folderPath);File file[]=folder.list();這樣列出的文件的排序有點問題。如folder中的有以下12個文件時,file[]中順序就是這樣:aaa0.txt,aaa1.txt,aaa10.txt,aaa11.txt,aaa2.txt,aaa3.txt,aaa4.txt,aaa5.txt,aaa6.txt,aaa7.txt,aaa8.txt,aaa9.txt面對這類問題,如何讓aaa10.txt,aaa11.txt正常排序,即拍到aaa9.txt之后而不是aaa1.txt之后;aaa20.txt拍到aaa19.txt之后而不是aaa2.txt之后。請針對這類問題回答,謝謝。修正以下,第二句是File file[]=folder.listFile();
2 回答

炎炎設計
TA貢獻1808條經驗 獲得超4個贊
自己定義一個Comparator,然后用Arrays.sort(file,new FileComparator())。
FileComparator可以按下面的來定義:
class FileComparator implements Comparator<File> { @Override public int compare(File f1, File f2) { String s1=f1.getName().substring( 3 ); String s2=f2.getName().substring( 3 ); int i1=Integer.parseInt(s1); int i2=Integer.parseInt(s2); return i1-i2; } } |
添加回答
舉報
0/150
提交
取消