【发布时间】:2022-01-21 06:17:56
【问题描述】:
假设在 File-1-EOF 之后正好 1 个字节另一个文件 (file2) 开始。
如果我打开文件 1 并使用 FileStream Filemode.Append,它会覆盖 file2 还是在有足够内存的地方制作另一个副本?
谢谢,问候!
编辑: 对于我之后的每个人:我忘记了你有一个文件系统,它被分成了块。让这个问题变得无稽之谈!
【问题讨论】:
-
我想当您在特定文件路径上使用 FileStream 时,只会修改该文件。如果不是,那似乎对它的使用非常不利。
-
是的,但是如果你编辑它最后有更多字节呢?您必须复制或覆盖(这很糟糕)
-
这取决于分区上的文件系统。这不像 c/c++ RAM 访问,超过内存限制会导致其他信息。文件系统不是这样工作的,虽然你可以拥有这种能力,如果你想要的话,
FileStream在进行修改时肯定不会损坏其他文件。 -
如果使用普通的 c# 函数可以做到这一点,它会破坏您的文件系统并损坏您的磁盘。 Filestream 和磁盘扇区之间有多个 API。
-
对于我之后的每个人:我忘记了你有一个文件系统,它被分成了块。让这个问题变得无稽之谈!
标签: c# append overflow filestream overwrite