现在我正在使用这种方法在 iOS 中移动非常大的文件:
[fileManager moveItemAtURL:srcURL toURL:toURL error:&error];
这是来自 NSFileManager 的方法。因为文件太大,我尝试移动它们而不是复制然后删除源文件。
有没有更安全的方法来做到这一点?
现在我正在使用这种方法在 iOS 中移动非常大的文件:
[fileManager moveItemAtURL:srcURL toURL:toURL error:&error];
这是来自 NSFileManager 的方法。因为文件太大,我尝试移动它们而不是复制然后删除源文件。
有没有更安全的方法来做到这一点?
文件移动是一个非常轻量级的操作;它不涉及复制任何内容,因为它只是将目录条目从文件系统中的一个点移动到另一个点。
应该是相当安全的。
如果你真的很想偏执,那么:
这就是写入/复制 API 的“原子”变体在幕后所做的,除了验证部分之外,因为文件系统本身应该这样做。
你所做的是正确和有效的。移动文件(如果移动到同一个文件系统)基本上是即时的。但是复制和删除很慢。请注意,将文件移动到不同的文件系统实际上是通过复制和删除来完成的。