0

我想在 Cocoa 应用程序中获取垃圾箱的内容,我想知道这是否是一条特殊路径,或者我是否必须使用专用功能。

谢谢你的帮助,

问候,

4

3 回答 3

5

垃圾物品有几种特殊的路径。

  • 每个用户.Trash在他们的家中都有一个目录。
  • 每个挂载的卷.Trashes在其根目录中都有一个目录,每个用户都有一个子目录。这样一来,可移动驱动器(如 USB 密钥)上的垃圾项目就会留在驱动器上。

以上是实现细节(自 10.0 以来一直保持不变)所以我不确定是否可以依赖它们。转到目录的另一种方法是使用 Finder 的脚本桥。Scripting Bridge 编程指南中有一个示例。

于 2011-05-09T15:46:37.077 回答
3

您可以使用 URLForDirectory 获取与文件、主目录或外部卷相关的垃圾箱目录。

NSURL *trashURL = [[NSFileManager defaultManager] URLForDirectory:NSTrashDirectory inDomain:NSUserDomainMask appropriateForURL:dirURL create:NO error:&error];

您可以使用“mountedVolumeURLsIncludingResourceValuesForKeys”为所有挂载的卷调用此函数

于 2013-09-27T10:59:11.393 回答
1

“Macintosh HD>Users>your username>.Trash” 它对查找器是隐藏的,但您可以在终端或其他地方找到它。从那时起,它就是一个普通的文件夹,你可以对它做任何你想做的功能。可以这样做

NSError *error=nil;
NSString *path=[NSHomeDirectory() stringByAppendingPathComponent:@".Trash"];
NSArray *folderList=[[NSFileManager defaultManager] contentsOfDirectoryAtPath:path error:&error];
于 2011-05-09T15:15:19.147 回答