我想知道如何根据文件或目录的大小分别将文件(或目录)的字节大小转换为千字节,兆字节,千兆字节等,以便匹配当您点击“获取信息”时,Finder将在面板中显示。Snow Leopard中的文件大小
我得到的字节大小与Finder中报告的字节大小完全一致,但我无法弄清楚如何获得文件大小(如Finder所显示的KB,MB,GB等)以匹配。我知道在10.6我们使用base 10,所以千字节是1000字节而不是1024,但是将字节数除以1000(或1000^2,1000^3等)与Finder报告的不一致。
例如,在Finder中:330字节的文本文件显示为4KB文件(因此我最初的猜测是将所有文件大小舍入为4KB数字),但是389,022字节的目录显示为一个418KB(比四舍五入至4KB的方式更多,所以我的猜测是错误的)。还有一个1,315,291,136字节的文件显示为1.33GB。
那么任何人都可以请这么友善地在这里摆脱一些光?这些数字是如何计算的?我四处寻找,一直未能找到答案。
在此先感谢您的帮助!
P.S.自从我开始编程以来,我一直是100%Cocoa的,我从来没有使用Carbon框架(我知道它非常强大,我只是不知道如何使用它)。我提到这一点,以防万一任何人想要给我一个碳解决方案,假设我知道如何使用它。我不。
虽然在大多数情况相当不可能的,你可能要加上'如果(multiplyFactor>([令牌计数] -1)){返回@”巨大!“;}'在最后的回报声明之前。否则,如果一个文件非常大(或者你正在转换的数字是错误的),则会引发“索引越界”异常。 – Mason 2012-01-24 04:59:27