亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問一下java.io.File 中File.list()的順序問題,該怎么解決?

請問一下java.io.File 中File.list()的順序問題,該怎么解決?

烙印99 2022-01-14 15:11:37
如題。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;      }   }


查看完整回答
反對 回復 2022-01-16
?
絕地無雙

TA貢獻1946條經驗 獲得超4個贊

將這個類實現Comparable接口,然后用Collections.sort()排序。

查看完整回答
反對 回復 2022-01-16
  • 2 回答
  • 0 關注
  • 671 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號