mac如何查找文件?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mac如何查找文件?相关的知识,希望对你有一定的参考价值。
参考技术Amac的文件总是默认保存到一个叫file的文件夹,这个文件夹到底在system中。
file其实就是文件夹的意思,相当于给保存到默认的文件夹里了,打开finder找最近文件就可以,所以我一般要保存都会手动更改路径。
macOS系统是苹果机专用系统,正常情况下在普通PC上无法安装的操作系统。苹果公司不但生产Mac的大部分硬件,连Mac所用的操作系统都是它自行开发的。
mac的文件:
可能很少人知道或用过「标签」,这对文件管理其实很有用。一个标签用一种颜色和一个标签名表示,你可以给任意位置任意格式的一个文件,或者文件夹添加一个标签。给文件(或文件夹)添加标签不会复制,也不会改变文件(或文件夹)的保存位置,只是给文件做了一个标记。
如何在mac的主目录中搜索具有特定扩展名的文件?
【中文标题】如何在mac的主目录中搜索具有特定扩展名的文件?【英文标题】:How to search files with specific extension in home directory of mac? 【发布时间】:2018-08-24 09:17:20 【问题描述】:我想在 mac 目录中搜索带有 doc 扩展名的文件,就像我们使用搜索命令从 finder 中找到的一样。
我正在使用以下代码进行此搜索。但它只从下载目录中搜索。它不是从文档(查找器的文档目录,而不是应用程序)、桌面或主目录中的任何其他目录中搜索。
NSString *docsDir = NSHomeDirectory();
NSFileManager *localFileManager=[[NSFileManager alloc] init];
NSDirectoryEnumerator *dirEnum =
[localFileManager enumeratorAtPath:docsDir];
NSString *file;
while ((file = [dirEnum nextObject]))
strPath = [NSString stringWithFormat:@"%@/",NSHomeDirectory()];
strPath = [strPath stringByAppendingString:file];
NSLog(@"%@",strPath);
NSArray *dirFiles = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:strPath error:nil];
NSArray *pdfFiles = [dirFiles filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"self ENDSWITH '.pdf'"]];
NSLog(@"%@",pdfFiles);
我已尝试将路径更改为
NSString *docsDir = [NSString stringWithFormat:@"/Users/%@/",NSUserName()];
来自
NSString *docsDir = NSHomeDirectory();
但是,同样的事情发生了。
我想在所有目录中搜索具有特定扩展名的文件,就像我们从 finder 中搜索一样,如下图所示。
【问题讨论】:
【参考方案1】:您的应用程序不是沙盒化的吗(您可以通过选择项目然后选择功能来检查)?
我在沙盒应用程序和非沙盒应用程序中都运行了你的代码,但它运行良好......
为什么它不在沙盒应用程序中运行?
从沙盒应用程序中,您无法访问桌面等内容的规则是,
从沙盒应用程序中,您可以访问下载目录
但是
enumeratorAtPath: 不遍历链接 - 在 Library/.../Data 目录中,您从 NSHomeDirectory() 获得的文档,Downloads 是一个链接,因此您只能访问您的 Download 文件夹的第一级.
@"/Users/%@/",NSUserName() 将为您提供“真正的”用户文档目录,但由于您的应用已被沙盒化,因此您将无法通过它进行枚举。看起来我的假设似乎几乎可以解释您观察到的所有症状。
【讨论】:
【参考方案2】:要像 Finder 那样进行搜索,请使用 MSMetadataQuery。这是 Spotlight 背后的技术:
https://developer.apple.com/documentation/foundation/nsmetadataquery
至于沙盒,MetadataQuery 返回结果,然后您必须请求用户授予读取这些文件的权限。
【讨论】:
以上是关于mac如何查找文件?的主要内容,如果未能解决你的问题,请参考以下文章