Как выполнить итерацию через папку (с подкаталогами, в которых могут быть дополнительные подкаталоги) и удалить файл, если это не каталог? По сути, я спрашиваю, как очистить все каталоги. У меня небольшая проблема с методом enumeratorAtPath:
в этом отношении, потому что я не уверен, как спросить перечислитель, если текущий файл является каталогом или нет. Требуется просмотр словаря fileAttributes
. Примечание. Это может быть очень неправильно для меня, но я инициализирую счетчик с помощью NSString пути. Это что-то меняет?Как перечислить через каталог в Objective-C и по существу очистить все каталоги файлов без каталога?
Q
Как перечислить через каталог в Objective-C и по существу очистить все каталоги файлов без каталога?
0
A
ответ
5
Что-то, как это будет работать:
NSURL *rootURL = ... // File URL of the root directory you need
NSFileManager *fm = [NSFileManager defaultManager];
NSDirectoryEnumerator *dirEnumerator = [fm enumeratorAtURL:rootURL
includingPropertiesForKeys:@[NSURLNameKey, NSURLIsDirectoryKey]
options:NSDirectoryEnumerationSkipsHiddenFiles
errorHandler:nil];
for (NSURL *url in dirEnumerator) {
NSNumber *isDirectory;
[url getResourceValue:&isDirectory forKey:NSURLIsDirectoryKey error:NULL];
if (![isDirectory boolValue]) {
// This is a file - remove it
[fm removeItemAtURL:url error:NULL];
}
}
+0
Использование 'enumeratorAtURL: ...' как это проще, чем использование 'enumeratorAtPath:', потому что 'enumeratorAtURL: ...' возвращает абсолютные URL-адреса. 'enumeratorAtPath:' возвращает относительные пути, которые вы можете передать непосредственно в 'removeItemAtPath: error:', если вы перечисляете текущий каталог. –
Смежные вопросы
- 1. Как рекурсивно перечислить все каталоги?
- 2. Как перечислить все родительские каталоги текущего каталога в пакетном файле
- 3. Как рекурсивно перечислить все файлы и каталоги
- 4. Как перечислить все файлы из каталога ресурсов
- 5. Удалить все файлы и каталоги, кроме одного каталога
- 6. Как узнать каталог каталога файлов по умолчанию?
- 7. Как создать каталог файлов и папок без включения самого каталога?
- 8. как очернить каталог без родительского каталога
- 9. Перечислить все каталоги и файлы рекурсивно с FTP-сайта
- 10. как перечислить все каталоги файлов и подкаталоги в папке с помощью shellscript
- 11. Использование Perl, как я могу удалить оставшиеся каталоги без файлов?
- 12. Как перечислить все файлы каталога и его подкаталогов в php?
- 13. Как найти/перечислить каталоги, в которых отсутствует конкретная подкаталог
- 14. Рекурсивно перечислить каталоги в C
- 15. Как перечислить каталоги быстрее?
- 16. Как перечислить каталог рекурсивно
- 17. Как перечислить все каталоги или файлы из корневого каталога в хранилище файлов Azure и использовать .NET Storage SDK?
- 18. Как перечислить каталоги и подкаталоги в VB.net
- 19. Как я рекурсивно перечислить все каталоги в месте, в ширину?
- 20. Как перечислить каталог в Linux из Windows
- 21. Как исключить все файлы и каталоги, кроме одного каталога, RewriteCond
- 22. Как я могу перечислить все содержимое каталога?
- 23. Как перечислить дочерние каталоги в WiX?
- 24. Создание каталога файлов jar через?
- 25. Как переместить все каталоги внутри родительского каталога в GIT
- 26. rcleartool: Можно ли перечислить содержимое каталога без скачивания файлов?
- 27. Как перечислить все файлы и каталоги, не поддерживаемые версией, в рабочей копии Git?
- 28. Как перечислить все каталоги в текущем рабочем каталоге?
- 29. Как перечислить каталог из 2 миллионов файлов в java без исключения «из памяти»
- 30. Как перечислить все папки и их файлы в php
Что конкретно вы возникли проблемы с? Оба метода NSDirectoryEnumerator и NSFileManager имеют методы, которые дадут вам атрибуты файлов, из которых вы можете проверить статус каталога. –