2012-04-03 2 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

디렉토리 목록을 얻으려면 다음 코드를 사용하십시오. 폴더/파일에 true/false를 제공하는 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 파일에 대해 동일한 패턴을 따를 수 있습니다.

희망이 도움이됩니다.

관련 문제