JBTALKS.CC

标题: 【疑问】GZipStream Magic Number Exception [打印本页]

作者: goodhermit95    时间: 2009-7-10 11:57 PM
标题: 【疑问】GZipStream Magic Number Exception

  1. Dim bufferWrite As Byte()
  2.             Dim fsSource As FileStream
  3.             Dim fsDest As FileStream
  4.             Dim gzDeCompressed As GZipStream

  5.             fsSource = New FileStream("update.zip", FileMode.Open, FileAccess.Read, FileShare.Read)
  6.             gzDeCompressed = New GZipStream(fsSource, CompressionMode.Decompress, True)
  7.             'bufferwrite = new byte[4];
  8.             bufferWrite = New Byte(4) {}

  9.             fsSource.Position = fsSource.Length - 4
  10.             fsSource.Read(bufferWrite, 0, 4)
  11.             fsSource.Position = 0
  12.             Dim bufferLength As Integer = BitConverter.ToInt32(bufferWrite, 0)
  13.             Dim buffer As Byte() = New Byte(bufferLength + 100) {}
  14.             Dim readOffSet = 0
  15.             Dim totalBytes = 0
  16.             While True
  17.                 Dim bytesRead = gzDeCompressed.Read(buffer, readOffSet, 100)
  18.                 If bytesRead = 0 Then
  19.                     'break;

  20.                     readOffSet += bytesRead
  21.                     totalBytes += bytesRead
  22.                 End If
  23.             End While
  24.             fsDest = New FileStream(My.Application.Info.DirectoryPath & "\file.cache", FileMode.Create)
  25.             fsDest.Write(buffer, 0, totalBytes)
  26.             fsSource.Close()
  27.             gzDeCompressed.Close()
  28.             fsDest.Close()
复制代码


Exception : Magic Number
Google说是Header,可是……我使用7z Compress的
作者: voyager    时间: 2009-9-24 02:06 PM
unzip之前要check是'gzip'还是'deflate',然后用不同的方法去decompress
直接用.net 2.0 的 system.io.compression 就可以了......
作者: goodhermit95    时间: 2009-9-28 10:32 AM
标题: 回复 #2 voyager 的帖子
我上网找过了,他们说GZIP很多问题,而且好像只可以压缩一个文件?
然后解压只可以用Windows所压缩的文件
winrar /7zip就解压不到了
作者: voyager    时间: 2009-9-28 05:58 PM
gzip没有问题的,很common的压缩演算法
不过很多时候,压缩法会把gzip/deflate搞混,
所以unzip前先check看吧

rar那些当然就不能用gzip咯




欢迎光临 JBTALKS.CC (https://www.jbtalks.cc/) Powered by Discuz! X2.5