Как добавить файл в zip, используя SharpZibLib в c # - PullRequest
0 голосов
/ 21 марта 2012

Я пытаюсь добавить файл в существующий 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 Ответ

1 голос
/ 21 марта 2012

Посмотрите здесь:

http://wiki.sharpdevelop.net/SharpZipLib_Updating.ashx

вам нужно позвонить

zipFile.BeginUpdate();

//add file..

zipFile.CommitUpdate();
...