如何将内存流写入ZipFile

我有一个zip文件。我想用SharpZipLib打开它,并向它添加一个在内存中创建的新ZipEntry。 我是SharpZipLib的新手。我在Google上进行了很多搜索,但是找不到类似的问题。

我的示例代码是:

public Stream GetNewZipFileStream(string zipFilePath)
{
   byte[] zipFileBytes = null;
   zipFileBytes = ReadFileBytes(zipFilePath);
   var zipFileMemoryStream = new MemoryStream(zipFileBytes);

   ZipOutputStream zipOutStream = new ZipOutputStream(zipFileMemoryStream);

   var newEntry = new ZipEntry("NewFile.txt");
   zipOutStream.PutNextEntry(newEntry);

   var newFileMemoryStream = MakeonTheFlyStream();
   StreamUtils.Copy(newFileMemoryStream,zipOutStream,new byte[4096]);

   zipOutStream.CloseEntry();
   newFileMemoryStream.Close();
   zipOutStream.IsStreamOwner = false;
   zipOutStream.Close();
   newFileMemoryStream.Position = 0;
   return newFileMemoryStream;
}

ReadFileBytesMakeonTheFlyStream是我的方法。

zjfshy 回答:如何将内存流写入ZipFile

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3166433.html

大家都在问