在Cocoa中搜索目录中的所有目录/文件及其子目录

时间:2014-04-29 15:07:59

标签: cocoa nsfilemanager pathfinder

我需要找出所有名称都有搜索字符串作为当前目录中的前缀以及其子目录的文件和文件夹。就像finder完成搜索一样。 我尝试过使用NSFileManager,但只获得当前目录的结果。 使用NSTask我能够在当前目录和子目录中获取文件/文件夹。但问题是我无法在一次搜索中获取文件和文件夹。我只能同时搜索文件或文件夹。

此外,如果我使用NStask,我无法通过某个间隔获得输出。当NStask完成时,它会返回结果。我已经尝试使用通知NSFileHandleDataAvailableNotification,但在任务完成时它会返回数据。

还有其他方法,以便我可以搜索目录和文件。另一个Application Path Finder已经完成了。如果有人对此有所了解。请帮我 感谢

1 个答案:

答案 0 :(得分:1)

有很多方法可以做到这一点。你说你找到了一种方法(没有细节)来找到“当前目录”中的项目 - 可能是你提供的目录。所以一个明显的解决方案肯定是使用它,并且它返回的每个项目都是一个递归扫描那个项目的目录?

如果您想要一次性使用所有项目,可以使用subpathsOfDirectoryAtPath:error:,您可以使用enumeratorAtURL:includingPropertiesForKeys:options:errorHandler:返回的枚举器以及其他方式一次获取一个项目。再次阅读NSFileManager文档。

HTH