我有一个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;
}
ReadFileBytes
和MakeonTheFlyStream
是我的方法。