Mac上有时文件删除失败

时间:2011-01-13 20:55:33

标签: macos delete-file unlink file-manager

Technical Q&A 1497  this question(其答案从技术说明中复制)表明,从fBsyErr获取FSDeleteObject时,正确的解决方法是在10.5 +上调用FSUnlinkObject

两个API FSDeleteObjectFSUnlinkObject之间的技术差异是什么? (注意FSUnlinkObject没有出现在文档中)?为什么unlink应该成为后备而不是主要API?

2 个答案:

答案 0 :(得分:0)

您链接的Apple文档非常清楚地解释了这一区别。 FSUnlinkObject与unlink()具有相同的语义 - 允许删除打开的文件。 FSDeleteObject不允许删除打开的文件,并在您尝试时返回该错误代码。

答案 1 :(得分:0)

我认为FSDeleteObject首先出现是因为它继续存在一系列文件删除功能,这些功能早在Mac OS与Unix合并之前就已存在,而取消链接文件则是Unix概念。