Мне нужно что-то сделать с файлом, посещенным последним в каталоге. Как я могу узнать, является ли текущий звонок моим visitFile()
последним?Как узнать, когда последний файл посещается в FileVisitor?
(я только хочу, чтобы получить список всех файлов и каталогов в данном каталоге. Для этого я ввел depth
поле для моей FileVisitor
реализации и в preVisitDirectory
я вернусь SKIP_SUBTREE
, если глубина больше 0. (И затем увеличивайте значение depth
.) Проблема в том, что я не знаю, когда нужно сбросить depth
на 0, потому что когда я вызываю walkFileTree
с этой реализацией FileVisitor для другого каталога, depth
уже> 0, и он отображает только список данный каталог.)
«последний файл в директории» как в имени в порядке возрастания? в порядке убывания? Последнее изменение? Я не думаю, что они перечислены в каком-то определенном порядке ... – Puce
Правда, похоже, что файлы посещаются по возрастанию по имени, я не знаю, как это изменить, если бы захотел. Однако порядок не имеет значения. Мне бы только хотелось узнать, когда «когда» в последний раз вызывается 'visitFile()' (то есть что-то вроде 'if (! HasMoreFilesToVisit())') независимо от порядка посещения. (Или, если есть метод, вызываемый _just_ перед возвратом '_walkFileTree_', который может быть расширен ..) В любом случае вы правы, что« последний файл в каталоге »неверен. Редактирование его в «файл, который был посещен последним в каталоге». – Bloke