Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么listFiles()在不同的平台上表现不同?_Java_Linux_Windows_Amazon Web Services - Fatal编程技术网

Java 为什么listFiles()在不同的平台上表现不同?

Java 为什么listFiles()在不同的平台上表现不同?,java,linux,windows,amazon-web-services,Java,Linux,Windows,Amazon Web Services,在一个文件夹中,我有三个文件a.txt、B.txt、C.txt。我正在执行下面提到的程序 for(File a: path.listFiles()){ System.out.println("List files"+a); } 如果我在windows机器上运行上述程序,我将得到输出A.txt、B.txt和C.txt。如果我在AWS EC2 Linux实例中运行相同的程序,我将得到输出A.txt、C.tct和B.txt。为什么相同的程序在不同的平台上表现不

在一个文件夹中,我有三个文件a.txt、B.txt、C.txt。我正在执行下面提到的程序

    for(File a: path.listFiles()){
                System.out.println("List files"+a);
}

如果我在windows机器上运行上述程序,我将得到输出A.txt、B.txt和C.txt。如果我在AWS EC2 Linux实例中运行相同的程序,我将得到输出A.txt、C.tct和B.txt。为什么相同的程序在不同的平台上表现不同

listFiles方法不保证任何顺序。不同的文件系统和操作系统可以提供不同的排序

但是,
listFiles
返回一个数组,可与
Arrays.sort()
一起排序,因为
File
是可比较的类,默认情况下按字典顺序排序路径名

File[] files = path.listFiles();
Arrays.sort(files);
for(File a : files) {
    // same exit for all platforms...
}
listFiles()
调用一个本机函数,该函数列出文件夹/目录中的所有文件。根据文件系统和驱动器的不同,该函数可能返回无序的文件列表。