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