23
我有一個NSString包含一個路徑,但它可能是一個文件或目錄。確定NSString中的路徑是否是目錄或文件?
在Cocoa中是否有與Python os.path.isdir()
和os.path.isfile()
方法等價的方法?
我有一個NSString包含一個路徑,但它可能是一個文件或目錄。確定NSString中的路徑是否是目錄或文件?
在Cocoa中是否有與Python os.path.isdir()
和os.path.isfile()
方法等價的方法?
見NSFileManager Class Reference
[[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);
}
}
不爲我工作,現在不要這樣。 – 2013-08-29 13:49:08
這裏重要的是您傳遞給isDirectory的BOOL:該方法的一部分是真正的BOOL,以查看該文件是否爲文件夾!從fileExistsAtPath:isDirectory返回的BOOL只是確認文件是否爲路徑。 – Will 2013-10-16 20:42:16