包含字符串的文本文件的大小是否与两个各包含原始字符串一半的文本文件完全相同?

包含字符串的文本文件的大小是否与两个各包含原始字符串一半的文本文件完全相同?

如果我有一个字符串“abcde”,我将其保存在 file1.txt 中,将“abc”保存在 file2.txt 中,将“de”保存在 file3.txt 中,那么 file2.txt 和 file3.txt 的大小总和是否为确切地等于file1.txt吗?

我尝试了一下,它们似乎是相等的,但也许差异太小以至于不会出现在仅仅 2 个文件上,但将信息分成一千个文件会产生差异。

我之所以问这个问题,是因为我正在为大学编写一个程序,我的算法会创建很多包含信息的文本文件。我的教授告诉我将所有信息放在一个文件中以节省空间,但拥有多个文件更有条理,也更易于编码。

在 Linux Mint 上进行测试,如果有所不同,使用的语言是 c++。

先感谢您。

答案1

你所看到的只是数据大小而不是尺寸在磁盘上

数据在磁盘上的分配单位取决于磁盘的格式化方式。最常见的大小是 4K (4096) 或 512。数据之后直到最后一个分配单元末尾的空间完全被浪费了。

所以你的教授是对的:将数据集中在一个文件中将减少浪费的空间,除非文件的数据恰好是分配单元的倍数(除非有计划,否则这种情况很少发生)。

相关内容