2012-04-03 8 views
0

私はアプリケーションを開発中です。その中で、私はドキュメントディレクトリ内のフォルダの数を見つけて、各フォルダ内のXMLファイルを探したいと思います。ドキュメントディレクトリにあるフォルダの情報を調べる方法を教えてください。文書ディレクトリのフォルダ情報を調べる方法

答えて

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を与える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ファイルのために同じパターンに従うことができます。

これが役に立ちます。

関連する問題