java - .listFiles() 是否有可能在不同的系统上以不同的顺序返回文件

标签 java

作为处理的结果,一些数据文件被写入磁盘。

  • 两台服务器(MAC 和 Linux)匹配的文件数
  • 系统间的文件名相同
  • 文件内容在系统之间是相同的,由 md5sum 衡量

然后根据从所述文件中读取的内容计算报告,使用

    for (File f : contentDirectory.listFiles()) {
               // magic

.listFiles() javadoc 说:

There is no guarantee that the name strings in the resulting array will appear in any specific order; they are not, in particular, guaranteed to appear in alphabetical order.

虽然这是真的,但我想知道……文件列出的顺序不是随机的,对吧?我的意思是,列出相同的文件 2 次会产生相同的结果,对吗?

这是否意味着当文件在 2 个不同的系统上列出时,顺序很可能不一样?

最终更大的问题是,无论文件存储在哪个操作系统上,如何以相同顺序列出目录中的文件?

最佳答案

他们不对订单提供任何保证。所以不要依赖它。即使您可以验证它今天可以工作,明天也可能无法工作。或者在超过 4K 文件的列表中。或者您不知道的其他一些随机标准。

如果你想要订单,那很容易。在迭代之前对列表进行排序。

关于java - .listFiles() 是否有可能在不同的系统上以不同的顺序返回文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11803211/

相关文章:

java - Intellij IDEA 12 与 GWT : working directory is not equal to your web application root

Java - 极坐标。给定一条线段 AB 和一个点 P,找到极线 AB 上最接近点 P 的点

java - OpenAM OpenDJ dockerization 问题 : Fails to redeploy using old data source

java - 带有 MS SQL Server 驱动程序和 Tomcat 的 Spring Boot

java - 两个数字 x 和 y 来自两个不同的数组。查找是否存在满足 z= x+y 的和 z

java - 如何使用 BoxLayout 让组件与 JPanel 中的顶部对齐?

java 默认列表模型

java - 如何为每个地址生成唯一编号?

java - 计算 LookAt 矩阵

java - onClickListener 用于在 popupWindow 之外进行触摸