为什么文件占用的空间会大于文件实际大小

Mr.zhuMr.zhu2025-09-10 03:30:06来源:优站库 (www.uzkoo.com)阅读:66

以windows系统举例,先看几张图:

图1:文件的大小比占用空间更小。

image.png


图2:文件的大小和占用空间大小一致。

image.png


图3:文件大小比占用空间大小更大。

image.png

上面3张图展示了文件大小与占用空间的大小几种情况,前两种场景是比较常见的情况,之所以有时文件大小会比占用空间小时因为簇大小的限制,簇代表了可以分配用来保存文件的最小磁盘空间量,存放sparse.txt文件所在区簇的大小为4096字节,图1中文件大小为4096字节(可以使用chkdsk命令查看),所以5K的文件需要2个簇来存储,如下图所示:

image.png

图2所示文件大小为5M,5M正好是4096的整数倍,所以文件大小跟占用空间大小一样大。

下面重点说下第三种情况,这里涉及到稀疏文件问题,对于不支持稀疏文件的系统就不会出现这种情况,看个例子:

/**
     * 常规文件可能会有很多不必要的空间浪费
     * @throws IOException
     */
    @Test
    public void normalFile() throws IOException {
        File file = new File("d:/tmp/sparse.txt");
        Path path = file.toPath();
        FileChannel ch = FileChannel.open(path, StandardOpenOption.CREATE,StandardOpenOption.WRITE);
        ch.position(5*1024*1024L);
        ch.write(ByteBuffer.wrap("hello world".getBytes("utf-8")));
        ch.close();

    }

    /**
     * 稀疏文件模式
     * @throws IOException
     */
    @Test
    public void sparseFile() throws IOException {
        File file = new File("d:/tmp/sparse.txt");
        Path path = file.toPath();
        FileChannel ch = FileChannel.open(path, StandardOpenOption.SPARSE,StandardOpenOption.CREATE_NEW,StandardOpenOption.WRITE);
        ch.position(5*1024*1024L);
        ch.write(ByteBuffer.wrap("hello world".getBytes("utf-8")));
        ch.close();
    }


有的用户会发现文件管理中统计的文件大小与实际空间占用大小不一致,如空间大小提示超标文件大小未超标,也是因为这些原因导致的,综上所述,我司系统检测到的空间占用大小为实际文件占用空间的大小,而非文件本身的大小,如提示空间超标,请您升级空间大小,避免影响您的正常使用。


如您的主机配额超标很多,实际占用空间不大,是因为有很多小的缓存文件,比如\runtime\session 路径下的文件,如下图:

image.png

这类情况如果通过FTP或文件管理器删除太慢,请提交工单】,可授权技术工程师为您批量删除处理。

猜你想看

满大街都穿着“冰袖”你穿过吗?
电动车为什么冬季续航比较差?
6种健康花,家里养一盆,格调高寿命长,干净,健康,运气好
秋冬浓密护发心得
柠檬水的好处你知道吗?4个食用原则要牢记
计量检测中心校准证书上的CMA、CNAS、CAL有什么意义,区别在哪?
档案丢失工龄难认定 退休后影响养老待遇 六旬老人历经3年波折终于挽回损失
同事对你说这些话,看似为你好,但八成是要算计你,千万别上当
全款买车和贷款购车有什么区别?
个体户、自由职业自己交公积金可以买房吗?
21套夏日出门休闲穿搭参考,清爽的同时又不失魅力
深秋怎么穿才又暖又美?我总结了“叠穿方案”,有温度也有风度
冬季燃油车为何容易亏电,电瓶也更容易损坏呢?
初学跑步如何循序渐进?3个步骤让你爱上跑步
steam无法连接至服务器/无法连接至网络的解决办法
关于工龄,你了解多少?
每天做家务降低51%痴呆风险
100个销售99个痴呆,你比那些高手差哪儿了?
家里电器用完不拔插头?竟然耗电量惊人!尤其是这几种…

推荐站点