OSX:以编程方式将文件从垃圾箱移动到其先前的位置

Posted

技术标签:

【中文标题】OSX:以编程方式将文件从垃圾箱移动到其先前的位置【英文标题】:OSX: Moving a file from Trash to its previous location programmatically 【发布时间】:2015-10-16 17:31:00 【问题描述】:

OSX:有没有办法以编程方式从垃圾箱中恢复文件?我尝试使用 NSFileManager 但它导致错误

NSFileManager* fm=[NSFileManager defaultManager];
NSError* err;
[fm copyItemAtPath:@"/Users/xyz/.Trash/abc.txt" toPath:@"/Users/xyz/Desktop/" error:&err];
NSLog(@"err:%@",err)

错误:

Error Domain=NSCocoaErrorDomain Code=516 "“abc.txt” couldn’t be copied to “Desktop” because an item with the same name already exists." UserInfo=NSSourceFilePathErrorKey=/Users/xyz/.Trash/abc.txt, NSUserStringVariant=(
Copy), NSDestinationFilePath=/Users/xyz/Desktop, NSFilePath=/Users/xyz/.Trash/abc.txt, NSUnderlyingError=0x610000041560 Error Domain=NSPOSIXErrorDomain Code=17 "File exists"

【问题讨论】:

看看这些:***.com/questions/18707618/… 和 superuser.com/questions/116703/… 【参考方案1】:

似乎为目标路径提供不同的名称可以解决问题

[fm copyItemAtPath:@"/Users/xyz/.Trash/abc.txt" toPath:@"/Users/xyz/Desktop/xyz.txt" error:&err];

【讨论】:

以上是关于OSX:以编程方式将文件从垃圾箱移动到其先前的位置的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式将文本插入 UITextView 而不移动插入符号位置。

以编程方式修改osx中的屏幕边界

垃圾回收之倒置复制法

如何以编程方式将 OS X“标签”添加到文件中?

以编程方式确定 OSX 上的文件内容类型

使用 Phonegap 以编程方式将文件从 SD 卡上传到远程服务器