2016-11-15 102 views
0

我正在向Visual Basic中新创建的文件写入几个字节。 下面的代码被执行:错误的字节写入文件

compressedFileStream.WriteByte(&H00) 
compressedFileStream.WriteByte(&H00) 
compressedFileStream.WriteByte(&H00) 
compressedFileStream.WriteByte(&H00) 
compressedFileStream.WriteByte(&H00) 
compressedFileStream.WriteByte(&HD5) 
compressedFileStream.WriteByte(&H55) 
compressedFileStream.WriteByte(&H6E) 
compressedFileStream.WriteByte(&H49) 

不幸的是,输出不是我写的。使用记事本+ +我看到这样的结果:

Actual Result

compressedFileStream的创作:

Using compressedFileStream As FileStream = File.Create(ArchivePath & ".zip") 

的D0和B5是错误的。在神奇地出现这两个字节后,它将继续以正确的字节(55,6E和49)。有没有人真的遇到过这个问题,或者有人知道什么会导致这种情况?

+0

可能与文件编码问题 – lordkain

+0

你如何创建'compressedFileStream'? – wdosanjos

+0

我添加了compressedFileStream的创建到OP –

回答

1

我试过你的代码,它按预期工作。执行WriteByte语句后是否还有其他进程发生?或者,Notepad ++可能会在你身上玩技巧。

+0

它确实是记事本++玩弄我的技巧。另一个十六进制编辑器显示正确结果谢谢! –