Ich entwickle eine Anwendung. Darin möchte ich die Anzahl der Ordner im Dokumentenverzeichnis herausfinden und die XML-Datei in jedem Ordner finden. Bitte sagen Sie mir, wie Sie die Informationen der Ordner im Dokumentenverzeichnis herausfinden können.Wie finde ich die Ordner Informationen im Dokumentverzeichnis
0
A
Antwort
1
Wenn ich Sie richtig verstehe, möchten Sie alle XML-Dateien in allen Ordnern im Dokumentenverzeichnis finden?
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);
}
}
}
}
Sie können Rekursion für tiefere Verzeichnisse hinzufügen.
1
Um Liste der Verzeichnisse zu erhalten, verwenden Sie folgenden Code, gibt es 1 Attribut isDirectory, das Sie für Ordner/Datei wahr/falsch gibt.
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];
}
Ihr Array enthält alle Verzeichnislisten hier. Sie können dasselbe Muster für XML-Dateien verwenden.
Hoffe, das hilft.