2014-02-21 27 views
0

我想排序文件此源代碼,但我不能..我想在ArrayList中<File>排序....

ArrayList<File> filelist=new ArrayList<File>(); 
File topdir=new File(System.getProperty("user.dir")); 
File[] allfile=topdir.listFiles(); 
for(int a=0; a<allfile.length; a++) 
{ 
filelist.add(allfile[a]); 
} 

EX)文件清單= [C:\ a.txt中,C:\ C。 txt,C:\ B.txt,C:\ E.txt,C:\ D.txt,C:\ G.txt,C:\ F.txt] 我想要文件列表排序.... 但我需要filelist = [C:\ A.txt,C:\ B.txt,C:\ C.txt,C:\ D.txt,C:\ E.txt,C:\ F.txt,C:\ G .TXT]

回答

3

您可以使用Arrays.sortCollections.sort

File[] allfile=topdir.listFiles(); 
Arrays.sort(allfile); 
ArrayList<File> filelist=new ArrayList<File>(Arrays.asList(allFile)); 

或者

File[] allfile=topdir.listFiles(); 
ArrayList<File> filelist=new ArrayList<File>(Arrays.asList(allFile)); 
Collections.sort(filelist); 

如果你想控制分揀完成的話,你就需要提供一個Comparator可以傳遞到這兩種方法...