文件存在于文档文件夹中

时间:2011-08-30 23:19:47

标签: iphone documents

我正在寻找检查文档文件夹中是否存在所有文件的方法。 到目前为止,我只有一个文件可以在本文档中查看,并且使用此代码正常工作:

 NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
 NSUserDomainMask, YES) objectAtIndex:0];
 NSString *path = [documentsDirectory stringByAppendingPathComponent:@"01.mp3"];
 if([[NSFileManager defaultManager] fileExistsAtPath:path])
 {
      [progressIndicator setHidden:YES];
      [downloadbutton setHidden:YES];

 }

检查文档文件夹中是否存在01.mp3,02.mp3,03.mp3等多个文件的最佳方法是什么

问候

2 个答案:

答案 0 :(得分:2)

如果且当且仅当allFilesExist

时,您需要使循环中不存在,然后setHidden为无效
- (BOOL)filesExistInDocuments:(NSArray*)files
{
    BOOL allFilesExist = YES;

    for (NSString *currFile in files)
    {
        NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
                                                                        NSUserDomainMask, YES) objectAtIndex:0];
        NSString *path = [documentsDirectory stringByAppendingPathComponent:currFile];
        NSLog(@"path: %@", path);

        if(![[NSFileManager defaultManager] fileExistsAtPath:path])
        {
            NSLog(@"not exists!");
            allFilesExist = NO;
            break;
        }
    }

    if (allFilesExist)
    {
        [progressIndicator setHidden:YES];
        [downloadbutton setHidden:YES];
    }

    return allFilesExist;
}

答案 1 :(得分:0)

您可以尝试将一些迭代器附加到您的文件名中,如下所示:

 for(int i = 0; i < yourFileCount; i++
{
   NSString *fileName = [NSString stringWithFormat:@"0%i.mp3", i];
   NSString *path = [documentsDirectory stringByAppendingPathComponent:fileName];
   if([[NSFileManager defaultManager] fileExistsAtPath:path])
   {
       [progressIndicator setHidden:YES];
       [downloadbutton setHidden:YES];
   }
}