实际文件大小是多少?

实际文件大小是多少?

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

我正在寻找精确的文件的大小(以字节为单位)。为什么 Windows 会将其归咎于磁盘上额外空间的使用,而不是调用它Size Windows takes to store this file

答案1

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

考虑:

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

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

答案2

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

磁盘占用大小是文件在磁盘上占用的字节数。这个数字通常比较大,因为磁盘空间只能按块分配,所以文件末尾会保留额外的磁盘空间来填充最后一个块。但这个磁盘空间实际上并不是文件的一部分。

答案3

在指责 Windows 浪费磁盘空间之前,您应该了解一下几乎所有文件系统如何管理硬盘空间。

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

出于多种原因,文件系统不希望多个文件共享同一个扇区。想象一下,如果你想让一个文件稍微长一点 - 在分配其他扇区来增大文件大小之前,扇区末尾的“浪费空间”可以被利用。

而且,虽然理论上可以有一个文件系统,可以按字节(甚至按位)分配磁盘文件,但用于跟踪此操作的磁盘管理存储量将激增,并且可能超过您可能获得的任何优势。而且性能可能会非常差...

答案4

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

相关内容