【问题标题】:Whats the actual file size?实际文件大小是多少?
【发布时间】:2009-01-07 15:37:37
【问题描述】:

在 Windows XP 中,File Properties 下的实际文件大小是多少?大小还是磁盘大小?

我正在寻找文件的确切大小,以字节为单位。为什么 Windows 会指责使用了磁盘上的额外空间,而不是称其为 Size Windows takes to store this file

【问题讨论】:

    标签: windows-xp filesystems


    【解决方案1】:

    我不相信这是特定于 Windows 的问题。由于磁盘是按块分配的,如果文件大小不是磁盘块大小的整数倍,则文件可能会占用比实际大小更多的磁盘空间。

    考虑:

    File         |------3.4k------|   |-------------4.1k--------| 
    Disk Blocks  |--------4k----------|--------4k----------|--------4k----------|
    

    磁盘上的文件必须与分配的块对齐(它们必须从块开始的位置开始),例如,如果文件实际大小为 3.4k,磁盘块大小为 4k,则磁盘上的文件大小为 4k因为即使文件中只有 3.4k 的数据,它实际上占用了磁盘上的 4k,因为您不能将该块的剩余部分用于任何事情。

    【讨论】:

      【解决方案2】:

      大小是文件中的实际字节数。

      磁盘大小是文件在磁盘上占用的字节数。这通常是一个更高的数字,因为磁盘空间只能以块为单位分配,因此在文件末尾会在磁盘上保留额外的 slack 空间来填满最后一个块。但这个闲置空间实际上并不是文件的一部分。

      【讨论】:

      • 看我的评论。
      • 作为证据,请尝试在相对较大的文件上设置“压缩”属性。下次查看该文件的“属性”对话框时,“磁盘上的大小”字段可能会显示比其他“大小”字段更小的数字。这种压缩是 NTFS 本身的一个特性。
      【解决方案3】:

      在抨击 Windows 浪费磁盘空间之前,您应该了解一下所有文件系统管理硬盘空间的程度。

      HDD 上“最小”的可寻址空间块是一个扇区(通常为 512 字节),您无法读取或写入小于该值的空间。如果要在扇区中写入一个字节,则必须读取该扇区,修改该字节,然后将该扇区写回。这就是物理/电子学的工作原理。 “块”通常是一个或多个扇区,代表文件系统将为文件分配的最小空间块。旧 DOS“基于 FAT”的文件系统随着磁盘大小的增加而增加块大小。

      由于许多原因,文件系统不希望多个文件共享同一个扇区。想象一下,如果您想让文件更长一点 - 在分配额外扇区以使文件更大之前,可以使用扇区末尾的“浪费空间”。

      而且,虽然理论上有可能拥有一个可以按字节(甚至是按位)分配磁盘文件的文件系统,但磁盘上用于跟踪这一点的管理存储量会猛增,而且可能超过任何您可能已经获得的优势。而且性能可能会很差...

      【讨论】:

        【解决方案4】:

        当以较大的单位(1KB = 1,024B 等)显示时,Windows 始终正确计算文件大小。

        大小是实际文件大小,而磁盘大小是硬盘驱动器上的实际大小。由于硬盘驱动器被分解成块,因此您必须完全消耗一个块。我就像有一个 4L 的桶,而你有 5L 的水,你需要两个桶来盛水。

        【讨论】:

          【解决方案5】:

          尺寸。磁盘大小是在驱动器上存储文件所需的块数 * 块大小。

          【讨论】:

            【解决方案6】:

            磁盘上的大小是指磁盘被分成块的事实,因此使用 4kb 块的磁盘将报告磁盘上的大小为 4k

            我制作了一个包含一个字符的文本文件,它正确报告文件的大小为 1 个字节。磁盘大小为 4k,因为这是文件可以占用的最小磁盘空间。

            【讨论】:

              【解决方案7】:

              嗯,定义“真实”。该文件将始终占用一些整数块;我忘记了 Windows 文件系统中的块大小是多少(我已经有大约 10 年没有使用过 Windows 了),但我相信你可以从 DIR 中获取块的数量,或者,最坏的情况是,通过安装 Cygwin 和使用ls。所以,“真正的”文件大小是块大小×块数。

              或者,由于文件可以在块的中间结束,“真实”文件大小可能是实际的字节数,在这种情况下wc -c 会给出。

              【讨论】:

                【解决方案8】:

                NTFS 可以在目录条目中存储非常小的文件,因此它们实际上不会占用磁盘空间,并且访问速度非常快。

                托尼

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2023-04-02
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多