我正在处理一个前置问题,突然让我想到这个问题....
也许不仅与FileStream有关,我想知道我们如何实际将二进制文件附加到文件中。
我想我的问题会导致两个问题:
- 硬盘内存的结构如何?
- 文件如何写入物理内存?
假设我有一个文本文件,包含“ABCDEF”,所以在物理内存(在硬盘中),内存应该包含带有文件头二进制等字母“ABCDEF”的二进制文件(实际上没有纯文本文件的头文件?)。 ...
所以这将是物理上的6字节,订单取决于处理器类型:
A B C D E F
01000001 01000010 01000011 01000100 01000101 01000110
假设我们想在文件中附加一个字母'G',那么该文件将包含7个字节:
A B C D E F G
01000001 01000010 01000011 01000100 01000101 01000110 01000111
磁盘中的文件大小都应该是4.00KB。
因为当我们写字母G时,仍然没有超过4.00KB,所以我们有空间写入4.00KB的内存空间。
但是当我们在文件中添加更多内容时,当执行时,4.00KB将使用8.00KB。
如何将超过4.00KB的二进制文件写入磁盘内存?
它是否在某处写入指针或某些内容并在磁盘存储器中声明索引并将超出的二进制文件写入新的内存地址?
FileStream
与此无关,问题由文件系统驱动程序直接处理。