问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

为什么文件没有很大却占用了很多空间2

发布网友 发布时间:2023-10-19 14:42

我来回答

1个回答

热心网友 时间:2024-11-18 10:25

在Windows系统中,一个文件的大小(字节数)和它在硬盘上(或其他存储介质上)所占的空间是两个既相互联系又有区别的概念。在不同的情况下,同一个文件的“所占空间”会发生变化。 1.“文件大小”与“所占空间”的差别 为了便于大家理解,我们先来看两个例子:
例1:找到D盘上的Ersave2.dat文件,用鼠标右键单击该文件,选择“属性”,即可打开对话框,我们可以看到,Ersave2.dat的实际大小为655,628 Byte(字节),但它所占用的空间却为688,128 Byte,两者整整相差了32KB。
例2:同样是该文件,如果将它复制到A盘,你会发现该文件实际大小和所占空间基本一致,同为640KB,但字节数稍有差别。再将它复制到C盘,查看其属性后,你会惊奇地发现它的大小和所占空间的差别又不相同了!
显然,在这三种情况中,文件的实际大小没有变化,但在不同的磁盘上它所占的空间却都有变化。事实上,只要我们理解了文件在磁盘上的存储机制后,就不难理解上述的三种情况了。文件的大小其实就是文件内容实际具有的字节数,它以Byte为衡量单位,只要文件内容和格式不发生变化,文件大小就不会发生变化。但文件在磁盘上的所占空间却不是以Byte为衡量单位的,它最小的计量单位是“簇(Cluster)”。
小知识:什么是簇?
文件系统是操作系统与驱动器之间的接口,当操作系统请求从硬盘里读取一个文件时,会请求相应的文件系统(FAT 16/32/NTFS)打开文件。扇区是磁盘最小的物理存储单元,但由于操作系统无法对数目众多的扇区进行寻址,所以操作系统就将相邻的扇区组合在一起,形成一个簇,然后再对簇进行管理。每个簇可以包括2、4、8、16、32或64个扇区。显然,簇是操作系统所使用的逻辑概念,而非磁盘的物理特性。 为了更好地管理磁盘空间和更高效地从硬盘读取数据,操作系统规定一个簇中只能放置一个文件的内容,因此文件所占用的空间,只能是簇的整数倍;而如果文件实际大小小于一簇,它也要占一簇的空间。所以,一般情况下文件所占空间要略大于文件的实际大小,只有在少数情况下,即文件的实际大小恰好是簇的整数倍时,文件的实际大小才会与所占空间完全一致。

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下显示该文件的属性,其中“所占空间”处显示的数值就是簇大小。

参考资料:http://old.blog.e.cn/user1/12972/archives/2006/1489813.shtml

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
kmose正确使用方法? 单位高温防护欠缺致员工中暑如何对待 狗狗为什么爱看视频 360浏览器怎么设置倍速播放 ...先讲女主的灵魂飘荡了一段时间,然后重生,请问是那本? 拯救者散热器怎么开 电脑如何一键还原系统电脑一键还原怎么操作 神舟笔记本电脑怎么重新设置神舟战神bios恢复出厂设置 神舟电脑恢复出厂设置神舟战神怎么恢复原厂系统 水泥楼梯如何铺木楼梯 我妈妈用惠人原汁机榨了葡萄汁,皮和籽没有去掉,这样榨汁也可以吗?喝了... 请教一下各位数学高手以下几个数学题。急需解答过程和答案。谢谢了... 贵阳机场到贵阳高铁站有多远3 贵阳机场到高铁站有多远? 盗梦空间最后的结局是什么407 盗梦空间结局是什么1251 为什么想做渣男就是做不起来?34 C语言怎么实现按1/0退出程序 求疾走王子全集百度云 微信去美宜佳扫描枪也支付不了,自己也发不出去,不绑定银行卡怎么使用... 贵阳机场到高铁站有多远? 上海洛昂检测技术有限公司怎么样? 我是股票新手,想知道哪里可以学习炒股?15 有关喝彩的作文,450--500字,急急急急急急急急!!!!...8 为生命喝彩(作文)190 如果一个男生只想睡你怎么办1 请帮忙给我一些个性伤感QQ网名 最好带个 丽 字 繁体字的最...2 遇到喜欢的男生,只想睡他,怎么破4 我喜欢一个男人 ,但他好像只想跟我发生关系,怎么办?4 ...女声,轻快,有舞曲的感觉,开头是:哦喂哦喂哦喂,you tell me,la la... 有的文件的大小为什么会比占用空间还大?2 牛肚、猪肚、鱼泡是牛、猪鱼哪里的器官?1 银行卡是自己身份证办的但不是自己的手机号办的可以绑定微信吗35 怎么申请新的1662 抖音上关于妈妈的句子6 新怎样注册新2 一首女版英文歌 节奏有点 哦喂5喂喂哦喂5喂的 生命中的喝彩550字求作文2 贵阳龙洞堡国际机场到贵阳高铁站要多长时间呀?2 女的给男的送玩具车什么意思5 夏季衬衫男搭配运动系列的鞋子行吗 想找个天龙八部3游戏工作室20开以上的电脑配置和价格12 “在星期六”用英语怎么说?介词用什么?21 英语里在周末该用哪个介词at还是on9 在周六用英语? 22000元年利率百分之18利息一年多少钱? 借22000元利息一分二两年多少利息 “在周末”用英语怎么说?302 在星期六早上 翻译成英语介词用in还是on?20 古芳栢草洗发露怎么样?听说能长出新头发!