C# 如何将memorystream写入ZipFile
我有一个zip文件。我想用SharpZipLib打开它,并在内存中创建一个新的ZipEntry。 我是夏普齐普利布的新手。我经常在谷歌上搜索,但没有找到类似的问题 我的示例代码是:C# 如何将memorystream写入ZipFile,c#,sharpziplib,C#,Sharpziplib,我有一个zip文件。我想用SharpZipLib打开它,并在内存中创建一个新的ZipEntry。 我是夏普齐普利布的新手。我经常在谷歌上搜索,但没有找到类似的问题 我的示例代码是: public Stream GetNewZipFileStream(string zipFilePath) { byte[] zipFileBytes = null; zipFileBytes = ReadFileBytes(zipFilePath); var zipFileMemoryStream
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
是我的方法。可能重复您的尝试在哪里?添加一些代码以了解您在哪里遇到了什么问题?@user2932057不,这是不同的。我需要将一个流写入ZipEntry并将其添加到现有的zip文件中。这也是另一个问题正在做的。@Amy所有这些解决方案都使用路径从硬盘添加新文件。但是我使用makeontheflystem
生成文件流,出于安全原因,我不想将其硬保存。所以我有一个文件流,我想把它添加到ZipFile中。