2011-12-08 8 views
8

que estoy haciendo estructura de carpetas en mi carpeta de recursos como ... Recursos => MyData => S1 después en S1 => Name.png, data.ppt¿Cómo obtener la lista de carpetas y archivos desde la carpeta de recursos en iPhone?

Ahora quiero conseguir todo lista de carpetas y nombres de archivo . Aquí el nombre de MyData será solo estático. El otro puede cambiar. Como puedo agregar S1, S2, S3 y la cantidad de archivos en eso. Entonces, ¿cómo leer estos contenidos a través del Objetivo C? Intenté debajo del código.

NSString *bundlePathName = [[NSBundle mainBundle] bundlePath]; 
    NSString *dataPathName = [bundlePathName stringByAppendingPathComponent:@"Resources"]; 
    NSFileManager *fileManager = [NSFileManager defaultManager]; 
    if ([fileManager fileExistsAtPath:dataPathName]) { 
     NSLog(@"%@ exists", dataPathName); 
     BOOL isDir = NO; 
     [fileManager fileExistsAtPath:dataPathName isDirectory:(&isDir)]; 
     if (isDir == YES) { 
      NSLog(@"%@ is a directory", dataPathName); 
      NSArray *contents; 
      contents = [fileManager contentsOfDirectoryAtPath:dataPathName error:nil]; 
      for (NSString *entity in contents) { 
       NSLog(@"%@ is within", entity); 
      } 
     } else { 
      NSLog(@"%@ is not a directory", dataPathName); 
     } 
    } else { 
     NSLog(@"%@ does not exist", dataPathName); 
    } 

Gracias,

Respuesta

12

Puede obtener la ruta de acceso al directorio de Resources como este,

NSString * resourcePath = [[NSBundle mainBundle] resourcePath]; 

que poner el Documents a la ruta,

NSString * documentsPath = [resourcePath stringByAppendingPathComponent:@"Documents"]; 

A continuación, puede utilice cualquiera de las API de listado de directorios de NSFileManager.

NSError * error; 
NSArray * directoryContents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:documentsPath error:&error]; 
Cuestiones relacionadas