大家傳統(tǒng)的理解中,一直以為文件大小就是占用空間的大小,其實(shí)文件大小和占用空間的區(qū)別還是很大的,下面武林網(wǎng)來看看文件大小和占用空間兩者之間有什么差別?
Windows會(huì)使用用NTFS和FAT的文件系統(tǒng)管理磁盤文件,這個(gè)大家都知道,而所有文件系統(tǒng)都是基于簇的大小,也就是分配單元的大小,說白了,就是分配用來保存文件的最小磁盤空間量。而常用的Windows XP NTFS下最大的默認(rèn)簇大小為 4 千字節(jié) (KB)。也就是說,每個(gè)文件都是按4K的空間劃分保存的,即使這個(gè)文件只有100字節(jié)。舉個(gè)生活中的例子吧,很多人一起吃飯,這個(gè)分配單元就相當(dāng)于碗的大小,這個(gè)文件就好比碗里的飯,每個(gè)人的飯量不一樣,有人吃的多,就需要兩個(gè)碗來盛飯,但是有的人吃的少,但也是要占一個(gè)碗。了解這個(gè)概念以后,理解起來文件大小和占用空間的關(guān)系就簡(jiǎn)單多了。我們通過兩個(gè)例子來進(jìn)行分析。
1、“文件大小”與“所占空間”的差別
例1:找到D盤上的Ersave2.dat文件,用鼠標(biāo)右鍵單擊該文件,選擇“屬性”,即可打開對(duì)話框,我們可以看到,Ersave2.dat的實(shí)際大小為655,628 Byte(字節(jié)),但它所占用的空間卻為688,128 Byte,兩者整整相差了32KB。
例2:同樣選擇該文件,將它復(fù)制到A盤,你會(huì)發(fā)現(xiàn)該文件實(shí)際大小和所占空間基本一致,同為640KB,但字節(jié)數(shù)稍有差別。再將該文件復(fù)制到C盤,再查看屬性的時(shí)候,它所占用的空間跟之間的兩次又有差距了。
從這三次的復(fù)制情況,我們不難看出,文件的大小沒有變化,而所占空間發(fā)生變化。說明占用空間的大小不是取決于文件的大小,而是磁盤的分配單元不同導(dǎo)致的。就像我們剛才講過的文件磁盤上的儲(chǔ)存機(jī)制,文件的大小就是文件內(nèi)容實(shí)際有的字節(jié)數(shù),所以會(huì)以Byte也就是字節(jié),來作為衡量單位。只要文件的內(nèi)容不變化,大小就不會(huì)變化。而在磁盤中的占用空間卻不是,它是以Cluster,也就是簇來作為衡量單位。
2、分區(qū)格式與簇大小
在例2中,同一個(gè)文件在不同磁盤分區(qū)上所占的空間不一樣大小,這是由于不同磁盤簇的大小不一樣導(dǎo)致的。簇的大小主要由磁盤的分區(qū)格式和容量大小來決定,其對(duì)應(yīng)關(guān)系如表1所示。
小編的軟盤采用FAT分區(qū),容量1.44MB,簇大小為512 Byte(一個(gè)扇區(qū));C盤采用FAT 32分區(qū),容量為4.87GB,簇大小為8KB;D盤采用FAT 32分區(qū),容量為32.3GB,簇大小為32KB。計(jì)算文件所占空間時(shí),可以用如下公式:
簇?cái)?shù)=取整(文件大小/簇大小)+1 所占空間=簇?cái)?shù)×磁盤簇大小
通過這個(gè)計(jì)算公式,就可以很輕易算出Ersave2.dat文件實(shí)際占用的空間。需要注意的是,在這個(gè)公式中,文件大小和簇大小應(yīng)以Byte為單位,否則可能會(huì)產(chǎn)生誤差。如果需要以KB為單位來進(jìn)行計(jì)算的話,將字節(jié)數(shù)除以1024就可以了。
公式中文件大小和簇大小應(yīng)以Byte為單位,否則可能會(huì)產(chǎn)生誤差。如果要以KB為單位,將字節(jié)數(shù)除以1024即可。利用上述的計(jì)算公式,可以計(jì)算Ersave2.dat文件的實(shí)際占用空間。
可能有朋友要問了,怎么才能知道磁盤中簇的大小呢,下面給朋友們說三個(gè)方法:
一、在WINDOWS的操作系統(tǒng)中,我們可以用Chkdsk命令來進(jìn)行查看,打個(gè)比方,我們要查看C盤的簇大小,操作如下,首先點(diǎn)擊【開始菜單】,選擇【運(yùn)行...】,在運(yùn)行輸入框鍵入“CMD”后回車,然后在黑色DOS下鍵入“C:”后點(diǎn)回車鍵確認(rèn),再輸入“Chkdsk”后點(diǎn)擊回車鍵確認(rèn),就可以從它的分析結(jié)果中,得到C盤簇的大小。不過在結(jié)果中會(huì)把簇稱之為“分配單元”或者“Allocation unit”。
二、還可以借助PQ Magic等磁盤工具來檢測(cè)。目前很多磁盤工具都可以顯示磁盤信息的詳情。例如在PQ Magic中,選擇要查看的磁盤分區(qū),然后單擊右鍵選擇【高級(jí)】,然后選擇【調(diào)整簇的大小】,就可以從對(duì)話框中看到或者更改當(dāng)前磁盤設(shè)置的簇大小。
三、也可以自己手動(dòng)創(chuàng)建一個(gè)100字節(jié)以下的文檔,然后把文件復(fù)制到想要查看簇大小的磁盤分區(qū)中,打開文件屬性,在所占空間一欄中顯示的數(shù)值就是簇的大小。