【问题标题】:java.io.File.list() giving different order as the folders created sequentially [duplicate]java.io.File.list() 给出不同的顺序作为按顺序创建的文件夹[重复]
【发布时间】:2014-01-22 05:51:02
【问题描述】:

java.io.File.list() 给出不同的顺序作为按顺序创建的文件夹

在创建名为

的临时文件夹时
"Temp" + auto-incremented number 
e.g. Temp1, Temp2, Temp3...Temp10, Temp11 and so on. 

但是当我使用 java.io.File.list() 来获取文件夹列表以按照创建文件夹的顺序进行进一步处理时,

but its giving as Temp1, Temp10, Temp11...Temp19, Temp2, Temp20, Temp21 and so on.

I also tried Arrays.sort(files); but no change in order of folder list

请告诉如何获得与按顺序创建的文件夹相同的订单列表?

【问题讨论】:

  • 默认排序为字典序;实现Comparator。
  • File#listFiles 返回Files 的顺序将取决于操作系统/本机库如何决定目录列表的制作方式。
  • 这是名称的字典顺序。

标签: java lexicographic


【解决方案1】:

这是因为java在java中默认比较字符串的方式(字典顺序)。 您可以为File 对象定义自己的比较器并进行排序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-19
    • 1970-01-01
    • 2012-12-20
    • 2014-08-23
    • 2014-02-12
    • 2011-07-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多