3 回答

TA貢獻(xiàn)1824條經(jīng)驗 獲得超5個贊
File 是一個可比較的類,默認(rèn)情況下按字典順序?qū)β窂矫M行排序。只需使用,
Arrays.sort(fList);
如果你想對它們進行不同的排序,你可以定義你自己的比較器。

TA貢獻(xiàn)1869條經(jīng)驗 獲得超4個贊
如果你想在樹結(jié)構(gòu)中遞歸地對所有文件路徑進行排序,你可以嘗試Files.walk使用sortedJava 8 流:
List<String> files = Files.walk(Paths.get("/tmp"))
.filter(Files::isRegularFile) // Check you have only file names
.map(Path::toString) // map to string
.sorted() // sort
.collect(Collectors.toList()); // create list
如果你想要不區(qū)分大小寫的排序:
List<String> files = Files.walk(Paths.get("d:/tmp"))
.filter(Files::isRegularFile) // Check you have only file names
.map(Path::toString) // map to string
.sorted(Comparator.comparing(String::toLowerCase)) // sort case insensitive
.collect(Collectors.toList()); // create list

TA貢獻(xiàn)1877條經(jīng)驗 獲得超1個贊
要列出目錄和子目錄中的所有文件,請使用Apache Commons FilesUtil.listFiles方法
Collection<File> fCollection = FileUtils.listFiles(directory, null, true);
File[] fList = fCollection.toArray(new File[fCollection.size()]);
然后對數(shù)組進行排序,您可以使用
Arrays.sort(fList);
添加回答
舉報