我遇到了一个有趣的情况,因为 java 的 File.listFiles() 方法返回目录中的文件列表,而对顺序没有任何保证。一个类使用此 listFiles() 方法从目录中的所有文件中读取一些信息并写入 OutputStream。相应的 JUnit 测试用例尝试将写入输出流的数据与一些预期的 byteArray 进行比较。测试在我的开发机器和生产堆栈上通过,但在开发服务器上失败,因为它使用不同的操作系统和不同版本的 Java。
在File.listFiles 中如何按字母顺序排列?解决方案是强制对从 File.listFiles() 返回的数组进行排序。但我对这个解决方案并不满意,因为它正在做一些额外的工作,只是为了让 JUnit 测试能够通过。
所以我只是想知道是否有更好的方法。有什么建议吗?谢谢