这是我第一次尝试发帖,所以如果我遗漏一些重要细节,我很抱歉。
我工作的公司有一个程序可以将压缩文件下载到计算机,然后将其解压缩到zip文件所在的文件夹中.zip中有几种不同类型的文件(exe,dll,xml)并且所有这些都解压缩,但有时(并非总是)xml文件有附加行
在xml文件的最后,有时会在文件的前面重复行,并且它似乎运行到文件的末尾。对不起,这有点难以解释,这是最新的例子:
该文件的最后一部分是结束元素“< / root>”然后立即有一个额外的“oot>”
有时重复行的数量较大,但似乎总是从文件的结尾到文件末尾的某个地方。
以下是解压缩文件的代码片段:
MyFileStream = New FileStream(ExtractDir & "\" & _
MyZipEntry.Name, FileMode.OpenOrCreate, FileAccess.Write)
Dim count As Integer
Dim buffer(4096) As Byte
count = MyZipInputStream.Read(buffer, 0, 4096)
While count > 0
MyFileStream.Write(buffer, 0, count)
count = MyZipInputStream.Read(buffer, 0, 4096)
End While
MyFileStream.Close()
End If
注意: 使用普通的右键单击拉链文件 - >发送至 - >压缩文件夹
使用SharpZipLib解压缩文件
这可能发生在所有文本文件中,我不确定并且无法测试,只能在xml上看到
我不是在寻找一种更好的解压缩文件的方法(这不是我的代码,我不想改变它的方式,除非没有别的办法),我只是在寻找一个关于如何添加额外行的说明。正如我上面提到的 - 这个问题只在某些时候发生,其他时候xml文件正确发布。可以将同一文件下载到不同的计算机,然后以不同的方式出现。
我感谢任何答案,帮助我理解这个
答案 0 :(得分:0)
解压缩xml时,请确保创建新的空文件。如果您修改已存在的文件,如果使用OpenOrCreate新文件较小,则会出现此问题,您最终会得到旧文件的一些剩余部分。
另一种选择是删除文件。您可以在创建(逐个)之前删除它们,也可以在调用程序之前删除整个文件夹。