Определить, является ли путь в NSString каталогом или файлом?
У меня есть NSString, содержащий путь, но это может быть либо файл, либо каталог.
Существует ли эквивалент методам Python os.path.isdir()
и os.path.isfile()
в Cocoa?
Ответы
Ответ 1
См. Справка класса NSFileManager
[[NSFileManager defaultManager] fileExistsAtPath:pathname
isDirectory:&directoryFlag];
Например:
NSString *file = @"/tmp/";
BOOL isDir = NO;
if([[NSFileManager defaultManager]
fileExistsAtPath:file isDirectory:&isDir] && isDir){
NSLog(@"Is directory");
}
Ответ 2
Если решение из htw не работает, попробуйте следующее:
NSString *file = @"/tmp/";
BOOL isDir
NSDirectoryEnumerator *dirEnum = [[NSFileManager defaultManager] enumeratorAtPath:file];
while ((file = [dirEnum nextObject])) {
[[NSFileManager defaultManager] fileExistsAtPath:file isDirectory:&isDir];
if(isDir){
NSLog(@"%@ is a directory", file);
}
}