是否有可能在一个完整的磁盘上创build一个文件?
文件创build是否占用空间?
基本上我看到一个C#创build的情况,但没有写出任何我认为指向完整磁盘的东西。
有谁知道在一个完整的磁盘上创build文件是否会失败?
这取决于文件系统。
即使光盘上没有空闲块,绝大多数文件系统都将允许创build一个长度为零的文件,因为在这一点上不需要分配块, 除非目录项的块已满,在这种情况下,您将获得尝试将新块添加到目录列表中时出现“无空间”错误。 当然NTFS将工作的方式。 一些文件系统允许将小文件的内容存储在目录条目本身或其他预分配结构中 – 因此,您可能能够在看起来完整的文件系统上创build小而非零长度的文件。
一些较旧的文件系统(FAT *?)将始终在创build时分配文件的第一个块,因为它们的规范不允许分配没有块的文件,因此这些文件总是无法在完整设备上创build文件。
是的,因为当您创build一个没有数据的文件时,它只能存在于主文件表(MFT)中。 如果文件是1千字节或更less,它只存在于MFT中。 磁盘可能报告没有可用空间,但是MFT可能有足够的可用空间来创build文件。