将目录的内容复制到 NSArray

Posted

技术标签:

【中文标题】将目录的内容复制到 NSArray【英文标题】:Copy contents of directory to an NSArray 【发布时间】:2012-07-12 10:41:30 【问题描述】:

我在一个名为 Wallpaper 的文件夹中有许多 jpg 格式的图像。 我正在尝试使用以下代码读取目录的内容并将它们存储在一个数组中:

NSFileManager *manager = [NSFileManager defaultManager];
NSArray *fileList = [manager contentsOfDirectoryAtPath:@"/Wallpaper" error:NULL];

但它不起作用。我无法将它们提取到数组中。 谁能告诉我这是怎么回事?

【问题讨论】:

这个“壁纸”文件夹是在哪里创建的? 它在文档目录中。 【参考方案1】:

您需要指定目录的完整路径。 我假设您的文件夹 Wallpaper 在文档目录中。

NSFileManager   *fileManager        =   [NSFileManager defaultManager];
NSString        *documentsPath      =   [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString        *extractDirPath     =   [documentsPath stringByAppendingString: @"/Wallpaper"];
NSArray         *extractsList       =   [fileManager contentsOfDirectoryAtPath: extractDirPath error: nil];

【讨论】:

【参考方案2】:

您使用的是绝对路径“/Wallpaper”,但我猜您的墙纸文件夹不在/中?

NSArray *fileList = [manager contentsOfDirectoryAtPath:@"/Wallpaper" error:NULL];

然后像这样尝试:

NSError *error = nil;
NSArray *fileList = [manager contentsOfDirectoryAtPath:@"/Wallpaper" error:&error];
NSLog(@"load wallpaper error: %@", error);

这将为您提供实际发生的错误。

【讨论】:

【参考方案3】:

试试这个:

NSFileManager *filemgr= [NSFileManager defaultManager];

NSArray *filelist = [filemgr contentsOfDirectoryAtPath:Pathwithfoldername error:nil];

【讨论】:

以上是关于将目录的内容复制到 NSArray的主要内容,如果未能解决你的问题,请参考以下文章

将文件夹从 iPhone 资源目录复制到文档目录

将 sqlite DB 从收件箱复制到文档目录

python [复制目录的所有内容]将目录的所有内容复制到另一个目录#FileOperation

将一个目录及其所有内容批量复制到另一个目录

使用python将目录内容复制到目录中[重复]

将制定目录下的内容复制到另一个路径下