gpt4 book ai didi

c++ - 磁盘上的最小文件大小是多少?

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:15:23 27 4
gpt4 key购买 nike

我正在尝试找到一种解决方案,以将二进制文件存储在磁盘上的最小尺寸中。我正在从 30 字节的数据库中读取车辆 VIN 和车牌号,当我将其放入 txt 文件并保存时,它的大小为 30B,但它在磁盘上的大小为 4KB,这意味着如果我保存 100000 个文件或更多,它会占用存储空间。

所以我的问题是,如何将这 30B 写入单个二进制文件,使其在磁盘上达到最小大小,以及磁盘上 30B 的最小可能大小是多少,包括文件名和权限等其他信息?

注意:我不想将这些文本保存在数据库中,只是想制作单独的二进制文件。

最佳答案

文件的最小大小始终是磁盘的簇大小,通常为 4k。对于这样的数据,在一个文件中有很多记录确实是唯一合理的解决方案。

尽管另一种可能性是将这些文件存储在存档中,例如 zip 文件。在 Windows 下,您甚至可以像在资源管理器中访问普通文件一样访问 zip 内容。

另一种创造性的可能性:将所有数据仅存储在文件名中。零字节文件在 MFT 中仅占用 1024 字节。 (假设 NTFS)

编辑:阅读驻留文件,我发现在较新的 4k 扇区驱动器上,MFT 条目实际上也是 4k。所以无论数据大小是否为 0,它都不会比这更小。

另一个编辑:拥有数万或数十万条目的庞大目录将变得非常笨重。不要试图在资源管理器中打开一个,也不要准备在加载时去喝咖啡。

关于c++ - 磁盘上的最小文件大小是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26002504/

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