gpt4 book ai didi

objective-c - 复制期间应传输哪些文件头数据?

转载 作者:行者123 更新时间:2023-12-03 17:40:55 25 4
gpt4 key购买 nike

我正在 MacOS 上对文件进行逐字节复制,因此我丢失了有关该文件的所有文件头数据(即 LastModified、CreateDate 等)。

我不想使用copyItemAtURL,因为它没有给我所需的细粒度控制,特别是允许取消复制、进度更新、暂停的能力等。但我确实想模仿copyItemAtURL处理文件头数据 - 我只是不知道那到底是什么。

我知道如何了解基础知识,从源文件中获取 NSURLContentModificationDateKey、NSURLCreationDateKey,并将其应用到目标文件。

我的问题是:我还应该确保什么从原始文件传输到新文件?标签?安全信息?

非常感谢任何建议!

编辑

我确实在苹果文档中找到了一些关于元数据的一般指导 here但它并没有真正指出在什么条件下应该填充哪些元数据。

最佳答案

这曾经由 FSCopyObjectAsync 支持旧的基于 Carbon 的文件管理器中的 API,遗憾的是从 OS X 10.8(又名 Mountain Lion)开始已弃用。

FSCopyObjectAsync 的文档将读者引导至 copyItemAtURL:toURL:error或 POSIX copyfile功能。后者似乎提供了您正在寻找的控件。

注意:我个人对 copyfile() 没有任何了解; YMMV。

一般来说,采用专门为复制文件而提供的更高级别的 API 比使用较低级别的原语自行构建更好。它们不仅会大大减少您必须编写的代码量,而且还会大大减少您需要编写的代码量。它们还将使您的应用程序面向 future ,因为在未来的操作系统版本中添加到文件系统的任何内容都很可能会自动受到支持。

为了完整起见,这里有一篇文章(书面弃用前)解释了如何执行 file-copy-with-progress-indicator使用 FSCopyObjectAsync。

关于objective-c - 复制期间应传输哪些文件头数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15582160/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com