2014-02-28 37 views
0

我有文件中的Java数组如下文件阵列,文件和目录

File[] fileList = new File("c:/data").listFiles(); 

文件列表中的对象有文件和目录。我想知道这些项目将在fileList对象中的顺序(文件首先是文件,然后是目录,反之亦然)。

是对fileList对象内项目的顺序将保持相同每次或它所依赖的任何因素?

在此先感谢。

+0

数组两次提取目录在刚读listFiles方法的说明 – swapnil7

回答

1

正如File#listFiles() API称,这是推荐使用的方法

不保证所得到阵列 在名称字符串会出现在任何特定的顺序时检查的API;他们不是,特别是, 保证按字母顺序出现。

2

如果你看看docs,它清楚地解释:

返回抽象路径名表示此抽象路径名表示的目录中的文件的数组。 如果这个抽象路径名不表示一个目录,那么这个方法返回null。否则,将返回一个File对象数组,其中一个用于目录中的每个文件或目录。表示目录本身和目录的父目录的路径名不包含在结果中。每个生成的抽象路径名都是使用File(File,String)构造函数从此抽象路径名构建而来的。因此,如果这个路径名是绝对的,那么每个结果路径名都是绝对的;如果此路径名是相对的,则每个生成的路径名将相对于相同的目录。

无法保证结果数组中的名称字符串将以任何特定顺序出现;他们并不特别保证按字母顺序出现。