从C#的zip文件中读取二进制文件而不解压缩
我想从zip文件中读取二进制文件而不解压缩它。
zip文件结构:
zipFolderName/subFolder/BinFile
在BinFile中,我有:
Id1, id2, value1 // id1, id2 are string, value1 is int
在C#中:
ZipEntry binFileName = …; // it has been got from zipFile entries MemoryStream ms = new MemoryStream(); binFileName.Extract(ms); using (BinaryReader reader = new BinaryReader(ms)) { string id1 = reader.ReadString(); // error popped here string id2 = reader.ReadString(); int value1 = reader.ReadInt32(); }
我收到错误:无法读取超出流的末尾。 似乎BinaryReader无法读取MemoryStream?
在binFileName.Extract(ms);
尝试以下方法:
ms.Seek(0, SeekOrigin.Begin);