Как добавить файл в zip с помощью SharpZibLib в C#
Я пытаюсь добавить файл в существующий zip, используя sharpZibLib в C#. При запуске zip получает qverwrite, т.е. все файлы в zip удаляются, и в zip-файле только новый файл.
using (FileStream fileStream = File.Open("D:/Work/Check.zip", FileMode.Open, FileAccess.ReadWrite))
using (ZipOutputStream zipToWrite = new ZipOutputStream(fileStream))
{
zipToWrite.SetLevel(9);
using (FileStream newFileStream = File.OpenRead("D:/Work/file1.txt"))
{
byte[] byteBuffer = new byte[newFileStream.Length - 1];
newFileStream.Read(byteBuffer, 0, byteBuffer.Length);
ZipEntry entry = new ZipEntry("file1.txt");
zipToWrite.PutNextEntry(entry);
zipToWrite.Write(byteBuffer, 0, byteBuffer.Length);
zipToWrite.CloseEntry();
zipToWrite.Finish();
zipToWrite.Close();
}
}
Может кто-нибудь сказать мне, что проблема в приведенном выше коде? Почему молнии перезаписаны
1 ответ
Посмотрите здесь:
http://wiki.sharpdevelop.net/SharpZipLib_Updating.ashx
тебе нужно позвонить
zipFile.BeginUpdate();
//add file..
zipFile.CommitUpdate();