【发布时间】:2011-09-02 12:07:45
【问题描述】:
我正在使用这种方法来复制文件:
[fileManager copyItemAtPath:sourcePath toPath:targetPath error:&error];
我想在文件已经存在时覆盖它。此方法的默认行为是抛出异常/错误“文件存在”。当文件存在时。没有选项可以指定它应该覆盖。
那么最安全的方法是什么?
我会先检查文件是否存在,然后将其删除,然后再尝试复制吗?这存在应用程序或设备在文件被删除后的纳秒内立即关闭但新文件尚未复制到该位置的危险。然后就什么都没有了。
也许我必须先更改新文件的名称,然后删除旧文件,然后重新更改新文件的名称?同样的问题。如果在这一纳秒内应用或设备关闭并且没有发生重命名怎么办?
【问题讨论】:
标签: iphone ios ipad filesystems nsfilemanager