侧边栏壁纸
博主头像
赵东阳的个人网站

行动起来,活在当下

  • 累计撰写 20 篇文章
  • 累计创建 8 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

Windows下的文件(1)

温馨提示:
部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

文件长度的计算

在Windows下建立文件夹

length_of_file

image-20220301144945728

在文件夹中新建文件并观察文件大小

文件名内容文件大小
00_nullnull(空文件)0
0113
02124
031235
0412346
05123457
061234568

image-20220301150437078

image-20220301150746222

观察发现 文件长度比内容大2,是字符串终结符 '/0' 占据了两个字节的大小吗?

在utf-8的 标准中 一个数字占据一个字节,'/0' 占据两个字节,换行符占据两个字节。1+'/0'+'/n' 一共占据五个字节。那么10行是占据50个字节吗?

test

image-20220301152106809

我们发现

image-20220301152439732

也就是说,换行符'/n'替代了'/0',作为字符串的终结符。

与此同时

image-20220301153133971

image-20220301153259153

这表明,Windows中文件的索引和文件是分开存放的。

那么,为什么占用空间为0呢?

磁盘存储格式NTFS

NTFS有个Master File Table(MFT)

NTFS盘里的文件,都至少有一条记录在MFT里,这条记录里存着这个文件的一些信息,比如修改时间、权限、文件名、文件在什么地方啊等等这些。这个记录,一般是固定大小的,通常1K。如果一个文件很小,那完全可以把整个文件的内容,放在这个文件对应MFT的记录里。就没必要再另找一个地方把内容写下。

0

评论区