gpt4 book ai didi

objective-c - NSFileManager fileExistsAtPath:isDirectory的用法

转载 作者:行者123 更新时间:2023-12-01 18:28:17 26 4
gpt4 key购买 nike

我正在尝试使用NSFileManager来确定项目是文件还是子目录。

这就是我所拥有的:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDir = [paths objectAtIndex:0];

NSError *error = nil;
NSArray *files = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:[documentsDir stringByAppendingPathComponent:@"exported"] error:&error];

for (NSString *filename in files) {
NSString *path = [documentsDir stringByAppendingPathComponent:filename];
BOOL isDir;
if([[NSFileManager defaultManager] fileExistsAtPath:documentsDir isDirectory:&isDir] && isDir){
NSLog(@"%@ is a directory", path);
}
else {
NSLog (@"%@ is a file", path);
}
}

我得到文件和子目录的“是目录”。我搜索了类似的SO问题,但我发现在那里找到的代码与尝试使用的代码之间没有区别。

最佳答案

看来您使用错误的路径来测试文件和目录

在您的fileExistsAtPath中:您正在测试documentsDir而不是path
改正这个

if([[NSFileManager defaultManager] fileExistsAtPath:documentsDir isDirectory:&isDir] && isDir)


if([[NSFileManager defaultManager] fileExistsAtPath: path isDirectory:&isDir] && isDir)

关于objective-c - NSFileManager fileExistsAtPath:isDirectory的用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11134654/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com