如题。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
提交
取消