如何使用objective-c列出垃圾箱的内容(在mac中)

时间:2011-05-09 15:08:29

标签: objective-c cocoa recycle-bin

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

感谢您的帮助,

此致

3 个答案:

答案 0 :(得分:5)

垃圾邮件有几种特殊路径。

  • 每位用户直接在其家中都有一个.Trash目录。
  • 每个已安装的卷在其根目录中都有一个.Trashes目录,其中包含每个用户的子目录。这样可以将可移动驱动器上的垃圾项目(如USB钥匙)留在驱动器上。

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

答案 1 :(得分:2)

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

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

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

答案 2 :(得分:1)

“Macintosh HD>用户>您的用户名> .Trash” 它对查找器是隐藏的,但您可以在终端或其他位置找到它。从那时起,它是一个普通文件夹,您可以执行任何您想要的功能。 可以这样做

NSError *error=nil;
NSString *path=[NSHomeDirectory() stringByAppendingPathComponent:@".Trash"];
NSArray *folderList=[[NSFileManager defaultManager] contentsOfDirectoryAtPath:path error:&error];