获取资源文件夹中子目录的路径

Posted

技术标签:

【中文标题】获取资源文件夹中子目录的路径【英文标题】:Get Path to Subdirectory in Resources Folder 【发布时间】:2011-09-07 13:27:47 【问题描述】:

我正在尝试在资源文件夹的子目录中获取所有 png 文件的数组。 在我的应用程序资源文件夹中,我创建了一个名为“图像”的文件夹。此文件夹包含我需要显示的所有 png 文件。

这是我尝试获取路径的方式:

    NSString *imagepath = [NSString stringWithFormat:@"%@/%@",[[NSBundle mainBundle] bundlePath],@"images/"];

NSLog(@"Path to Images: %@", imagepath);

NSArray * paths = [NSBundle pathsForResourcesOfType: @"png" inDirectory:imagepath];
NSMutableArray * allImageNames = [[NSMutableArray alloc] init];

for ( NSString * path in paths )

    if ( [[path lastPathComponent] hasPrefix: @"AQ"] )
        continue;

    [allImageNames addObject: [path lastPathComponent]];

这样我得到了一个像…/appname.app/images这样的路径

但如果我尝试那样做,数组总是空的。 我做错了什么?

问候, 扎拉克

【问题讨论】:

你的图片名称是什么?他们喜欢image.AQ吗? 图片名称类似于“banana_icon.png”。但我使用 AQGridView 来创建所有文件的图库。 那你为什么要查看[[path lastPathComponent] hasPrefix: @"AQ"] 您确定这些图像位于一个单独的文件夹中,而不仅仅是 Xcode 项目中资源中的一个“组”吗? 【参考方案1】:

刚刚解决了。

NSBundle *mainBundle = [NSBundle mainBundle];
NSArray *pngs = [mainBundle pathsForResourcesOfType:@".png"
 inDirectory:@"random pictures"];

 NSLog(@"pngs in my dir:%@", pngs);

目录结构:“资源/随机图片”。

这可行,但是,当您将文件添加到“资源”时,您需要选中“为任何添加的文件夹创建文件夹引用”,而不是“为任何添加的文件夹创建组”。

干杯!

【讨论】:

通过使用另一个解决方案解决了这个问题,但我会记住这一点并在另一个项目中尝试一下。长话短说,你得到接受。 ;) 感谢您的回复。 对我不起作用,我有一个文件夹 In-Work with pdf 文件,我正在尝试使用以下方法访问文件: NSString *inWorkPath = [[[NSBundle mainBundle]resourcePath]stringByAppendingPathComponent:@ "工作中"];NSArray *resContents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:inWorkPath 错误:&error];并且 resContents 返回 nil 您在将文件夹添加到项目时是否选中了“创建文件夹引用”? @EshwarChaitanya @codrut 哎呀,这是我的错误。就像你说的,我在复制资源时没有检查创建文件夹引用。

以上是关于获取资源文件夹中子目录的路径的主要内容,如果未能解决你的问题,请参考以下文章

android下怎么获取res资源文件夹的路径

Java 获取资源文件路径

Java 获取资源文件路径

如何以编程方式获取资源目录路径

获取资源绝对路径的方法

Unity 获取指定资源目录下的所有文件