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

Mr.zhuMr.zhu2025-09-10 03:30:06来源:北陌导航网 (www.52bi.cn)阅读:22

以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或文件管理器删除太慢,请提交工单】,可授权技术工程师为您批量删除处理。

猜你想看

脑在酒精代谢中的作用被发现
面对“倚老卖老”的前辈,职场新人如何见招拆招
数说2022汽车召回|德系第一,自主第二,特斯拉召回比新车卖的还多
各地公积金政策调整,7月1日起公积金有这些大变化
女性想要皮肤好,如何做好睡前保养?坚持5个好习惯,简单有效
女生显老的2个发型,千万别再留了
手表铂金和白金哪个好?白金腕表与铂金腕表差距不止一点点
退休养老金计算方法是怎样的?
微信语音可否作为诉讼的证据
中国人的飞行表 - 海鸥1963
拼多多卖房,“价格屠夫”终于向房价下手了?
超简单的香煎土豆丝饼,可能是全世界的美味小确幸
心理学:夫妻生活过得好不好,一进家门就能看出来了!
防晒衣到底能不能防晒 .看完就知道答案
哪些情形属于“非因本人意愿中断就业”?失业保险金申领答疑来了
每月充电涨近千元,出租车司机:再贵就要开油车了!
多地缴纳社保费,如何办理合并计算?
王楚然 | 美神降临
养老保险不想交了,钱能退回来吗?答案扎心了,但三种情况可退保
女性穿高跟鞋有哪些危害?注意这6个部位

推荐站点