请问一下java.io.File 中File.list()的顺序问题,该怎么解决?

如题。
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();

烙印99
浏览 635回答 2
2回答

炎炎设计

自己定义一个Comparator,然后用Arrays.sort(file,new&nbsp;FileComparator())。FileComparator可以按下面的来定义:&nbsp;class&nbsp;FileComparator&nbsp;implements&nbsp;Comparator<File>&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@Override&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;int&nbsp;compare(File&nbsp;f1,&nbsp;File&nbsp;f2)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;s1=f1.getName().substring(3);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;s2=f2.getName().substring(3);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;i1=Integer.parseInt(s1);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;i2=Integer.parseInt(s2);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;i1-i2;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;}

绝地无双

将这个类实现Comparable接口,然后用Collections.sort()排序。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java
Vue.js