2012-08-04 36 views
4

This似乎很奇怪。爲什麼listFiles()不能保證順序?

不保證所得到陣列 在名稱字符串會出現在任何特定的順序;他們不是,特別是, 保證按字母順序出現。

爲什麼訂單無法得到保證?例如,一個ls可能是一個合理的默認值。

這是決定(表現?)理由的東西,或者是哪裏有更深層的真相?

+4

請回答這個問題:* *文件列表的「自然」順序是什麼?文件名?它添加的日期?方式?尺寸? – 2012-08-04 01:18:17

+1

跨平臺嗎?語言環境? – trashgod 2012-08-04 01:19:46

+1

ls在內部對名稱進行排序。 – 2012-08-04 01:22:06

回答

8

據我所知,文件並沒有自然順序。如果你說字母,然後用哪些語言環境/整理順序?執行內部命令的java支持的所有操作系統?如果沒有,那麼API將需要採取從操作系統收到的任何東西。由於API客戶端1)可能並不在意或者2)希望有不同的東西,因此只需傳送文件而不保證順序而不是進行浪費的排序就更有意義了。如果你在乎,你可以這樣做。

+0

+1給你的操作系統給出的命令是最明智的命令恕我直言,你可以按自己的方式排序。 – 2012-08-04 08:09:37

相關問題