2012-04-03 111 views

回答

1

如果我理解你正確,你想找到文件目錄中所有文件夾中的所有xml文件?

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = ([paths count] > 0) ? [paths objectAtIndex:0] : nil; 

NSArray *contents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:documentsDirectory 
                     error:nil]; 
for (NSString *path in contents) { 
    BOOL isDir; 
    if ([[NSFileManager defaultManager] fileExistsAtPath:path 
              isDirectory:&isDir] 
     && isDir) { 
     // directory in documents directory 
     NSArray *dirContents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:path 
                        error:nil]; 
     for (NSString *dirContentsPath in dirContents) { 
      if ([[dirContentsPath pathExtension] isEqualToString:@"xml"]) { 
       NSLog(@"xml found: %@", dirContentsPath); 
      } 
     } 
    } 
} 

您可能想爲更深的目錄添加遞歸。

1

要獲取目錄列表使用以下代碼,有1個屬性isDirectory,它爲您提供文件夾/文件的真/假。

NSFileManager *fileManager = [NSFileManager defaultManager]; 
fileList = [[fileManager directoryContentsAtPath:PATH_TO_SEARCH] retain]; 
NSMutableArray *arrDirectory = [[NSMutableArray alloc] init]; 
for(NSString *file in fileList) 
{ 
    NSString *path = [PATH_TO_SEARCH stringByAppendingPathComponent:file]; 
    BOOL isItDirectory = NO; 
    [fileManager fileExistsAtPath:path isDirectory:(&isItDirectory)]; 
    if(isItDirectory) 
     [arrDirectory addObject:file]; 
} 

您的數組將包含此處的所有目錄列表。您可以按照xml文件的相同模式。

希望這會有所幫助。

相關問題