我有一个包含路径的NSString变量,但它可能是文件或目录。
在Cocoa中,是否有类似于Python os.path.isdir()
和os.path.isfile()
方法的等效方法?
我有一个包含路径的NSString变量,但它可能是文件或目录。
在Cocoa中,是否有类似于Python os.path.isdir()
和os.path.isfile()
方法的等效方法?
[[NSFileManager defaultManager] fileExistsAtPath:pathname
isDirectory:&directoryFlag];
例如:NSString *file = @"/tmp/";
BOOL isDir = NO;
if([[NSFileManager defaultManager]
fileExistsAtPath:file isDirectory:&isDir] && isDir){
NSLog(@"Is directory");
}
如果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);
}
}