在 Windows 代码中,new File("").list()
按名称对文件进行排序。
在 Linux 中(当使用 java.io.UnixFileSystem 时)- 文件以某种奇怪的(但不是随机的)方式排序。
这种行为可以调整吗?或者至少 - 使用哪种算法对文件进行排序?
我无法在我的代码中对文件进行排序,因为我使用了一些我不能(或不想)修改的标准库 - 因此请不要提供这样做。
tomcat lib目录下有结果:
jsp-api.jar
catalina-ant.jar
tomcat-i18n-fr.jar
catalina.jar
jasper.jar
ecj-4.2.2.jar
catalina-tribes.jar
servlet-api.jar
tomcat-jdbc.jar
tomcat-coyote.jar
tomcat-api.jar
tomcat-util.jar
postgresql-9.2-1003.jdbc3.jar
tomcat-i18n-ja.jar
catalina-ha.jar
tomcat-dbcp.jar
annotations-api.jar
jasper-el.jar
el-api.jar
tomcat-i18n-es.jar
最佳答案
我猜它在幕后使用的是 readdir
(或类似的)。所以this答案也适用于此,基本上它指向this blog-post
关于Java - UnixFileSystem - 列表如何对 child 进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19786305/