【发布时间】:2010-07-19 10:51:00
【问题描述】:
抱歉,还有其他问题。代码现在工作正常。谢谢大家。
如果文件不存在,我有以下代码来创建文件,如果文件已经存在则覆盖它:
FileStream fsExe = File.Create(DestExePath, 4096);
BinaryWriter bw = new BinaryWriter(fsExe);
无论我写什么到 BinaryWriter,它都会被附加到“DestExePath”而不是覆盖原始文件。
有人知道,为什么会这样?
【问题讨论】:
-
没有复制,
File.Create绝对没有附加。当然,如果您从不按应有的方式关闭流并不断写入它们,那么它会追加。 -
如果 NTFS 权限只允许追加会怎样?
-
正如达林所说,你确定你没有保持流打开吗?
-
@sarnold,如果文件存在,它将被重新创建。
-
好的,下面的答案表明这是一个错误的诊断。投票结束。