Ответ 1
Порядок чтения подкаталогов не определен в соответствии с этим комментарием в учебнике Java:
В дереве файлов сначала идет глубина, но вы не можете делать какие-либо предположения относительно порядка итераций, которые посещают подкаталоги.
Что касается порядка чтения файлов, это зависит (в текущей реализации) от поставляемого DirectoryStream
, который sun.nio.fs.WindowsDirectoryStream
на моем компьютере. Чтение javadoc DirectoryStream
, вы увидите, что:
Элементы, возвращаемые итератором, не имеют определенного порядка.