首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从文件大小获取磁盘上的文件大小

从文件大小获取磁盘上的文件大小
EN

Stack Overflow用户
提问于 2020-06-26 20:40:58
回答 1查看 286关注 0票数 0

我在Windows机器上有一个这样大小的文件,我需要从文件大小中计算磁盘上的文件大小:

大小3,06 MB (3.216.171字节)

磁盘上的大小3,07 MB (3.219.456字节)

我有512字节/扇区文件系统

如何计算我需要使用多少扇区,从文件大小来存储文件?

我理解3219456 / 512 = 6288,但是如何从文件大小计算磁盘上的大小呢?

这是一种从文件大小获取光盘大小的方法?

我错过了什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-26 21:00:53

您的文件长度为0x31132B。

所需的存储空间(舍入最近的集群)是0x312000。您的集群要么是4kB (0x1000),要么是8kB (0x2000)。

这可计算为:

代码语言:javascript
复制
clusterSize * ceil(fileSize * 1.0 / clusterSize)

( 1.0防止整数除法。)在整数数学中,它是:

代码语言:javascript
复制
clusterSize * (1 + (fileSize - 1) / clusterSize)

您可以从GetDiskFreeSpace获得集群大小,无论如何都需要调用它来确定您的文件是否合适。见现有答案:

当然,其他事情可能会影响存储文件所使用的真正存储.如果一个目录在其集群中没有足够的空间用于新条目,那么如果您正在存储不适合该目录的元数据,则需要启用压缩。但对于“普通”文件系统,上述计算将是正确的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62602539

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档