<ca>1.“文件大小”与“所占空间”的差别 <br> 为了便于大家理解,我们先来看两个例子: <br> 例1:找到D盘上的Ersave2.dat文件,用鼠标右键单击该文件,选择“属性”,即可打开对话框,我们可以看到,Ersave2.dat的实际大小为655,628 Byte(字节),但它所占用的空间却为688,128 Byte,两者整整相差了32KB。 <br> 例2:同样是该文件,如果将它复制到A盘,你会发现该文件实际大小和所占空间基本一致,同为640KB,但字节数稍有差别。再将它复制到C盘,查看其属性后,你会惊奇地发现它的大小和所占空间的差别又不相同了! <br> 显然,在这三种情况中,文件的实际大小没有变化,但在不同的磁盘上它所占的空间却都有变化。事实上,只要我们理解了文件在磁盘上的存储机制后,就不难理解 上述的三种情况了。文件的大小其实就是文件内容实际具有的字节数,它以Byte为衡量单位,只要文件内容和格式不发生变化,文件大小就不会发生变化。但文 件在磁盘上的所占空间却不是以Byte为衡量单位的,它最小的计量单位是“簇(Cluster)”。 <br><br> 小知识:什么是簇? <br> 文件系统是操作系统与驱动器之间的接口,当操作系统请求从硬盘里读取一个文件时,会请求相应的文件系统(FAT 16/32/NTFS)打开文件。扇区是磁盘最小的物理存储单元,但由于操作系统无法对数目众多的扇区进行寻址,所以操作系统就将相邻的扇区组合在一起, 形成一个簇,然后再对簇进行管理。每个簇可以包括2、4、8、16、32或64个扇区。显然,簇是操作系统所使用的逻辑概念,而非磁盘的物理特性。 <br> 为了更好地管理磁盘空间和更高效地从硬盘读取数据,操作系统规定一个簇中只能放置一个文件的内容,因此文件所占用的空间,只能是簇的整数倍;而如果文件实 际大小小于一簇,它也要占一簇的空间。所以,一般情况下文件所占空间要略大于文件的实际大小,只有在少数情况下,即文件的实际大小恰好是簇的整数倍时,文 件的实际大小才会与所占空间完全一致。 <br><br> 2.分区格式与簇大小 <br> 在例2中,同一个文件在不同磁盘分区上所占的空间不一样大小,这是由于不同磁盘簇的大小不一样导致的。簇的大小主要由磁盘的分区格式和容量大小来决定,其对应关系如表1所示。 <br> 笔者的软盘采用FAT分区,容量1.44MB,簇大小为512 Byte(一个扇区);C盘采用FAT 32分区,容量为4.87GB,簇大小为8KB;D盘采用FAT 32分区,容量为32.3GB,簇大小为32KB。计算文件所占空间时,可以用如下公式: <br> 簇数=取整(文件大小/簇大小)+1 <br> 所占空间=簇数×磁盘簇大小 <br> 公式中文件大小和簇大小应以Byte为单位,否则可能会产生误差。如果要以KB为单位,将字节数除以1024即可。利用上述的计算公式,可以计算ersave2.dat文件的实际占用空间。 <br><br> 3.轻松查看簇大小 <br> ①用Chkdsk查看簇大小 <br> 在Windows操作系统中,我们可以使用Chkdsk命令查看硬盘分区的簇大小。例如我们要在Windows XP下查看C盘的簇大小,可以单击“开始→运行”,键入“CMD”后回车,再键入“C:”后回车,然后输入“Chkdsk”后回车,稍候片刻从它的分析结 果中,我们就可以得到C盘的簇大小,不过它把簇称之为“分配单元”或者“Allocation unit”。 <br>②用PQ Magic等磁盘工具来检测 <br> 很多磁盘工具都具备磁盘信息显示等功能。例如在PQ Magic中,选择要查看的磁盘分区,然后单击右键选择“高级→调整簇大小”功能,即可从显示的对话框中可以看到该磁盘当前设置的簇大小。 <br>③手工查看 <br> 手动创建一个100字节以下的文本文档。然后将该文件复制到欲查看簇大小的磁盘分区中,在Windows下显示该文件的属性,其中“所占空间”处显示的数值就是簇大小.</ca>
参考资料:
http://cnbbs.us/simple/t28666.html
分享到:
相关推荐
在C#编程中,了解如何获取系统和特定进程的CPU及内存占用率是十分重要的,尤其是在进行性能监控或资源管理的场景下。本篇将详细解释如何实现这一功能,并提供相应的代码示例。 首先,我们要关注的是操作系统级别的...
这个空间允许设计师不受限制地创建、编辑和修改设计,如同在实际环境中工作一样。而图纸空间(PaperSpace),也称作布局,是用来模拟实际打印页面的环境。在这里,设计师可以设定打印设置,如页面大小、打印比例等,...
- **表空间大小**:检查目标表空间是否有足够的空间来容纳导入的数据。 - **数据一致性**:在导入前后,确保数据的一致性和完整性,避免因导入导致的错误或冲突。 - **备份**:在执行任何重大操作前,务必做好数据...
"LabVIEW小功能-前面板调整为修饰框大小尺寸"这个程序提供了一个实用的解决方案,帮助开发者快速调整前面板的布局,使其适应不同需求。LabVIEW的前面板是应用程序的用户界面,它展示给用户所有交互元素,如按钮、...
在计算机图形学领域,"一片小花 颜色大小不一样"这个标题描述了一个通过OpenGL实现的项目。OpenGL是一个强大的跨语言、跨平台的编程接口,用于生成2D和3D图像,它允许程序员直接控制硬件来高效地绘制复杂的图形。在...
既然采用图形空间了,那就在模型空间只放纯图形,如果一时不习惯这样做,那模型空间图形处有文字有符号,在不同视口比例缩放出不同大小,而同类的文字符号在一张图上理应保持统一大小的,这一点实际上上面第2条已经...
short类型的长度不能超过int的长度,而long类型的长度至少要和int一样长。因此,在32位系统中,long类型也是4字节,在64位系统中则是8字节。需要注意的是,具体的字节数可能会根据编译器和平台有所变化,但应始终...
首先,表空间(Tablespace)是Oracle数据库的逻辑存储单元,它并不实际存储数据,而是作为数据的容器。一个表空间可以包含一个或多个数据文件,并且一个数据文件只能属于一个表空间和一个数据库。表空间是用来组织和...
箱体的长宽高尺寸合理地分配了空间,使得沙子能够充分利用箱体的容积,同时也方便了沙子的取用和更换。 使用方法 消防沙箱的使用方法简单易懂,操作方便。 1. 上盖可直接搬开,前部箱体下方两个合页,上方和货车...
VHD支持动态扩展(Dynamically Expanding VHDs)、固定大小(Fixed-Size VHDs)和差异磁盘(Differencing VHDs)等类型,其中动态扩展VHD在使用过程中会根据实际存储需求动态增长,直到达到最大限制为止。...
如同书架和书籍的关系一样,文件系统就像是书架上的书籍,而硬盘分区则像是书架本身。我们可以通过调整书架(即硬盘分区)来改变书籍(即文件系统)的位置或占用的空间。 ### 调整分区大小的基本步骤 #### 1. 准备...
"金属强度的尺寸效应"这个标题虽然看似与C语言无关,但在学习任何编程语言的过程中,理解计算机科学的基础概念,如数据表示、内存管理和计算效率等,都是必不可少的。而这些概念在一定程度上可以类比为材料科学中的...
**jQuery高亮相册实现原理与应用** ...以上就是关于“jQuery高亮相册与QQ空间一样的显示效果”的详细介绍,通过学习和实践,你可以创建出一个具有类似QQ空间图片浏览体验的相册功能,提升网站的互动性和用户体验。
这种方法在实际应用中最高效,因为它只需要一次内存分配,随后的赋值操作不会引起数组大小的变化,因此也不需要额外的数据复制操作。 #### 运行效率对比 为了比较这三种方法的运行效率,可以通过MATLAB的`tic`和`...
- **逻辑结构**:从使用者的角度来看,Oracle数据库的逻辑结构可以分为六层,每一层都有其特定的功能和作用,从最底层的数据文件开始,向上依次为日志文件、控制文件、表空间、段、区间、块。 - **存储结构**:在...
本话题主要关注如何使用JPEG压缩技术来模仿微信实现图片大小减小,但保持像素一致,且不失真的效果。 JPEG(Joint Photographic Experts Group)是一种广泛使用的有损图像压缩标准,它通过利用人眼对某些图像细节不...
1. 放置图框和标题栏,像镜框一样,容纳任何大小的实际物体,使之主次分开,实物和说明分开。 2. 书写文字和进行标注,布局幅面的确定,使字体的大小得以确定,给设置字体和标注样式带来特别的便利。 3. 模型空间...
在实际设计中,核心筒的布局需要综合考虑以上各因素,并结合建筑的总体平面和竖向交通需求,通过剖面设计、首层分隔措施等手段优化空间利用,以达到功能性和舒适性的最佳平衡。同时,经典案例的研究可为设计提供参考...
因为所有用户栈使用相同空间大小,所以取占用空间最大的任务函数的空间大小为仿真堆栈空间大小。这样用户堆栈空间大小就唯一确定了。 在uCOS51中,为了提高效率,可以采取一些措施,例如ret和reti混用减少代码、IE...