如何在特定文件夹中找到多个文件(iphone cocoa app)?

时间:2011-09-07 06:40:18

标签: iphone objective-c nsfilemanager

假设我想检查文件夹/用户中是否存在file1,file2和file3,这样如果找到这些文件中的任何一个,我就会有条件地触发一个动作。我该怎么做呢?

非常感谢任何帮助!

3 个答案:

答案 0 :(得分:1)

使用NSFileManagerfileExistsAtPath方法检查已知路径中是否存在文件。

 - (BOOL)fileExistsAtPath:(NSString *)path;
 - (BOOL)fileExistsAtPath:(NSString *)path isDirectory:(BOOL *)isDirectory;

使用以下方法......

BOOL file1Exists = [[NSFileManager defaultManager] fileExistsAtPath:file1Path];
BOOL file2Exists = [[NSFileManager defaultManager] fileExistsAtPath:file2Path];
BOOL file3Exists = [[NSFileManager defaultManager] fileExistsAtPath:file3Path];

答案 1 :(得分:0)

使用此代码检查文件是否存在于文档目录中。

NSString *filePath1 = [[NSString alloc] initWithFormat:@"%@",[[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:@"filePath1.txt"]];
NSString *filePath2 = [[NSString alloc] initWithFormat:@"%@",[[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:@"filePath2.txt"]];
NSString *filePath3 = [[NSString alloc] initWithFormat:@"%@",[[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:@"filePath3.txt"]];
if([[NSFileManager defaultManager] fileExistsAtPath:filePath1] || [[NSFileManager defaultManager] fileExistsAtPath:filePath2] || [[NSFileManager defaultManager] fileExistsAtPath:filePath3]) {
//code.....
}

我认为这会对你有所帮助。您可以为任意数量的文件执行此操作。

答案 2 :(得分:0)

在iOS中,所有文件都将存储在文档目录中。在Doc Dir中搜索文件。

NSArray *doc=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

NSString *docPath = [doc objectAtIndex:0];

NSString *filePath= [NSString stringWithFormat:@"%@/file1",docPath];

NSFileManager *fileManager =[NSFileManager defaulManager];

BOOL result= [fileManager fileExistsAtPath:filePath];

通过此结果,您可以触发要运行的操作。