我想知道如何根據文件或目錄的大小分別將文件(或目錄)的字節大小轉換爲千字節,兆字節,千兆字節等,以便匹配當您點擊「獲取信息」時,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