Как бы вы проследовали через дерево файловой системы с учетом узла, который по сути является корневым узлом? Поскольку это итерация, единственными двумя методами, которые я должен определить, является hasNext() и next(). Я знаю, что мне нужно использовать listFiles(), isDirectory() и exists(), но я не уверен, как их реализовать. Я НЕ хочу никакого кода, но мне просто хотелось бы, чтобы кто-то мог дать мне некоторое представление о том, как я буду делать hasNext() или next(). Еще раз спасибо за любую помощь!Итерация через дерево файловой системы java
0
A
ответ
0
хорошо в первом вы могли бы определить функцию как
listrecursive(Element e)
который получает элемент. если этот элемент является каталогом, вы вызываете функцию listrecurisive для каждого из элементов в этом каталоге. Конечно, чтобы перебрать все элементы, которые вы можете использовать итератор, т.е.
function listrecursive(Element e){
if(e isDirectory){
Iterator iter = e.iterator();
while(iter.hasNext()){
Element ie = iter.next();
listRecursive(ie);
}
}
else{
//process file
}
}
SRY, но я должен был включать в себя какой-то код ... по крайней мере, он не будет работать, я обещаю ;-)
+0
жаль, что я забыл упомянуть, нет рекурсии :( – dzagnyr
0
Я думаю, рекурсия будет лучший матч:
private void getDirectoryStructure(String rootNode) {
List<String> fileList = new LinkedList<String>();
getSubDirectories(new File(rootNode), fileList);
// fileList got the data you need
}
public static void getSubDirectories(File rootNode, List<String> fileList){
if(rootNode.isDirectory()){
fileList.add(rootNode.getAbsolutePath());
File[] subDirectory = rootNode.listFiles();
for(File sub : subDirectory){
getSubDirectories(sub, fileList);
}
}
}
Смежные вопросы
- 1. Итерация через файловую систему java
- 2. Итерация через дерево avl
- 3. Итерация через дерево
- 4. Итерация через дерево Avl в java
- 5. Итерация через двоичное дерево поиска java
- 6. Мониторинг изменений файловой системы через Java
- 7. Показать дерево файловой системы данных в TVirtualStringTree
- 8. golang Дерево как решение для файловой системы
- 9. Неудачная итерация файловой системы с длинным путем
- 10. Javascript: Итерация через двоичное дерево?
- 11. Искатель файловой системы в java
- 12. Чтение из файловой системы через объект FileSystem
- 13. Прогулка файловой системы Linux/Unix с Java?
- 14. Обновление файловой системы с помощью java
- 15. Прохождение дерева файловой системы
- 16. Как изменить кодировку файловой системы через python?
- 17. Flex - Как отображать дерево как вид файловой системы?
- 18. Ссылка открытого файла на дерево файловой системы в c9 IDE
- 19. Параметры масштабируемости файловой системы
- 20. Laravel Ошибка файловой системы
- 21. реализация файловой системы для java-карты?
- 22. Структура файловой системы Java в памяти?
- 23. Java: Загрузка ресурсов из файловой системы
- 24. Hadoop 2.6.0 Просмотр файловой системы Java
- 25. Создание мини-файловой системы в Java
- 26. Как разбить путь файловой системы в Java?
- 27. java - Чтение пользовательской файловой системы возвращает AccessDeniedException
- 28. Проблема создания пользовательской файловой системы java (nio)
- 29. Эффективный поиск файловой системы
- 30. итерация дерево в MongoDB
Вы можете посмотреть на гуавы-х [fileTreeTraverser] (http://docs.guava-libraries.googlecode.com/git/javadoc/src-html/com/google/common/ io/Files.html # line.803), который предоставляет различные итераторы деревьев [здесь] (http://docs.guava-libraries.googlecode.com/git/javadoc/src-html/com/google/common/collect/ TreeTra verser.html # line.54). –
Взгляните на http://stackoverflow.com/a/6006609/2891664 (используйте стек или список). – Radiodef