Подтвердить что ты не робот

Определить, является ли путь в NSString каталогом или файлом?

У меня есть NSString, содержащий путь, но это может быть либо файл, либо каталог.

Существует ли эквивалент методам Python os.path.isdir() и os.path.isfile() в Cocoa?

4b9b3361

Ответ 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);
   }
}