欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

文件大小和占用空间是一个概念吗? 两者有什么差别?

程序员文章站 2022-07-10 16:10:49
文件大小和占用空间是一个概念吗? 两者有什么差别?文件大小和占用空间是一个概念吗? 有很多朋友一直认为,文件大小和占用空间是一个概念,文件大小和占用空间的区别还是很大的,下面我们来看看文件大小和占用空间两者之间有什么差别?... 15-09-26...

windows用ntfs和fat的文件系统管理磁盘文件,所有文件系统都是基于簇(分配单元)大小,它代表了可以分配用来保存文件的最小磁盘空间量。windows xp ntfs下最大的默认簇大小为 4 千字节 (kb)。也就是说,每个文件都是按4k的空间划分保存的,即使这个文件只有100字节。

打个比方,作文纸,每页可以写400字;超过400字,就要翻一页。可是只写一首20字的诗,也要用一页纸

1、.“文件大小”与“所占空间”的差别,为了便于大家理解,我们先来看两个例子:

例1:找到d盘上的ersave2.dat文件,用鼠标右键单击该文件,选择“属性”,即可打开对话框,我们可以看到,ersave2.dat的实际大小为655,628 byte(字节),但它所占用的空间却为688,128 byte,两者整整相差了32kb。

例2:同样是该文件,如果将它复制到a盘,你会发现该文件实际大小和所占空间基本一致,同为640kb,但字节数稍有差别。再将它复制到c盘,查看其属性后,你会惊奇地发现它的大小和所占空间的差别又不相同了!

显然,在这三种情况中,文件的实际大小没有变化,但在不同的磁盘上它所占的空间却都有变化。事实上,只要我们理解了文件在磁盘上的存储机制后,就不难理解上述的三种情况了。文件的大小其实就是文件内容实际具有的字节数,它以byte为衡量单位,只要文件内容和格式不发生变化,文件大小就不会发生变化。但文件在磁盘上的所占空间却不是以byte为衡量单位的,它最小的计量单位是“簇(cluster)”。

2、分区格式与簇大小

在例2中,同一个文件在不同磁盘分区上所占的空间不一样大小,这是由于不同磁盘簇的大小不一样导致的。簇的大小主要由磁盘的分区格式和容量大小来决定,其对应关系如表1所示。

笔者的软盘采用fat分区,容量1.44mb,簇大小为512 byte(一个扇区);c盘采用fat 32分区,容量为4.87gb,簇大小为8kb;d盘采用fat 32分区,容量为32.3gb,簇大小为32kb。计算文件所占空间时,可以用如下公式:

簇数=取整(文件大小/簇大小)+1 所占空间=簇数×磁盘簇大小 公式中文件大小和簇大小应以byte为单位,否则可能会产生误差。如果要以kb为单位,将字节数除以1024即可。利用上述的计算公式,可以计算ersave2.dat文件的实际占用空间。

3、轻松查看簇大小

①用chkdsk查看簇大小 在windows操作系统中,我们可以使用chkdsk命令查看硬盘分区的簇大小。例如我们要在windows xp下查看c盘的簇大小,可以单击“开始→运行”,键入“cmd”后回车,再键入“c:”后回车,然后输入“chkdsk”后回车,稍候片刻从它的分析结果中,我们就可以得到c盘的簇大小,不过它把簇称之为“分配单元”或者“allocation unit”。

②用pq magic等磁盘工具来检测 很多磁盘工具都具备磁盘信息显示等功能。例如在pq magic中,选择要查看的磁盘分区,然后单击右键选择“高级→调整簇大小”功能,即可从显示的对话框中可以看到该磁盘当前设置的簇大小。

③手工查看 手动创建一个100字节以下的文本文档。然后将该文件复制到欲查看簇大小的磁盘分区中,在windows下显示该文件的属性,其中“所占空间”处显示的数值就是簇大小.