在目录中搜索具有特定文件扩展名的文件,然后将它们添加到数组中,然后运行其中一个

时间:2011-01-09 20:04:57

标签: objective-c macos file recursion random

我是Objective-C和Mac的新手,我正在尝试制作随机视频播放器。

我使用Java制作了Windows,但我想制作一个原生的mac应用程序来为我做。基本上该程序有一个目录选择器和一个按钮,您可以选择要搜索的目录,然后单击该按钮并播放随机视频。

所以我需要知道的是,如何在指定的目录中搜索具有某些扩展名的文件(avi,mp4,mkv等),然后将它们的路径添加到数组中?然后在扫描完成后随机生成一个数字,然后打开与该数组中该位置关联的文件。我希望能够通过目录递归搜索。

感谢您的帮助。

只是一个FYI:我将它用于我的电视节目文件夹,每个节目都有一个不同的文件夹,然后是每个节目的子文件夹。

1 个答案:

答案 0 :(得分:2)

好的,你可能会想要:

  1. 使用NSOpenPanel选择目录。 (相应地设置setCanChooseDirectories和setCanChooseFiles。)

  2. 使用NSFileManager获取该目录的内容(嗯,URL)。 enumeratorAtURL:includesPropertiesForKeys:options:errorHandler:method 可能你所追求的是什么,因为它会列出所有子目录的内容等。

  3. 对文件进行迭代,在选择随机条目之前将网址放在NSMutableArray中。

  4. 使用NSWorkspace打开文件(请参阅openFile方法等)

  5. 顺便提一下,如果您在使用示例代码之后,大多数链接到上面的Apple类参考文档都附带了示例代码。 (请参阅每个文档标题中的“相关示例代码”部分。)