2012-05-01 13 views
10

Files.walkFileTreeが同じレベルのファイル/ディレクトリを訪問する順序は何ですか?Files.walkFileTreeでのトラバーサルの順序

サイズ、最終更新日時、または名前の順に表示されません。 API documentationでも何も見つかりませんでした。

おそらくpreVisitDirectoryメソッドを使用して訪問順序を指定できますが、デフォルト動作は何ですか?

答えて

12

サブディレクトリが読まれる順序がthe Java Tutorialでこのコメントあたりのように定義されていません。

ファイルツリーは、第1の深さを歩いされますが、サブディレクトリを訪問される繰り返し順序を仮定できず。ファイルが読み込まれる順序については

、それは私のコンピュータ上のsun.nio.fs.WindowsDirectoryStreamである、供給DirectoryStreamに(現在の実装では)依存しています。 the javadoc of DirectoryStreamを読むと、次のようになります。

イテレータによって返される要素の順序は特にありません。

+0

回答ありがとうございます。したがってFiles.walkTreeFileはある時点でFiles.newDirectoryStreamを呼び出し、返されるDirectoryStreamはosおよび/またはjdk/jreに依存しますか? – Sridhar

+0

基本的にはい。要するに、保証がないため、特定の注文を得ると想定してコードを作成しないでください。 – assylias

関連する問題