2014-02-28 39 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)構造函數從此抽象路徑名構建而來的。因此,如果這個路徑名是絕對的,那麼每個結果路徑名都是絕對的;如果此路徑名是相對的,則每個生成的路徑名將相對於相同的目錄。

無法保證結果數組中的名稱字符串將以任何特定順序出現;他們並不特別保證按字母順序出現。