gpt4 book ai didi

cocoa - 如何直接从磁盘读取文件?

转载 作者:行者123 更新时间:2023-12-03 16:47:58 25 4
gpt4 key购买 nike

当然,可以使用 fopen 或 Mac 上可用的任何其他大量 API 来读取文件,但我需要做的是打开并读取磁盘上的每个文件,并尽可能高效地执行此操作.

所以,我的想法是使用/dev/rdisk* (?) 或/dev/(?) 从设备开头的文件开始。我会尽力按照文件出现在磁盘上的顺序读取文件,尽量减少在设备上的查找量,因为文件可能会碎片化,并将大块数据读入 RAM,以便可以非常快速地进行处理。

因此,我面临的主要问题是,当直接从设备读取数据时,如何确定哪些数据属于哪些文件?

我假设我可以从读取文件目录开始,并且有一种方法可以确定磁盘上文件或文件片段的开始和停止位置,但我不确定在哪里可以找到有关如何获取此类信息...?

我正在运行 Mac OS X 10.6.x,并且可以假设驱动器采用标准设置。我可能假设相同的信息也适用于由磁盘工具创建的标准、只读、未压缩的 .dmg。

有关此主题的任何信息或要阅读的文章都会引起兴趣。

一旦了解了磁盘上文件的格式和布局,我不认为我想做的事情会特别困难。

谢谢

最佳答案

正如评论中提到的,您需要查看 file system format ,但是,通过顺序读取原始磁盘,您会(1)不能保证后续 block 属于同一文件,因此您可能必须无论如何寻找,从而减慢直接从/dev/device 读取所获得的优势,并且(2 )如果你的磁盘只有 50% 已满,你可能仍然会读取 100% 的磁盘,因为你将读取未分配的空间以及分配给文件的空间,因此可以直接从/dev/device 读取效率也很高。

然而,fsck 和类似的操作会执行此操作,但他们会根据修复文件系统时寻找的可能错误进行适度操作。

关于cocoa - 如何直接从磁盘读取文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6563173/

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