0

C#でsharpZibLibを使用して、既存のzipにファイルを追加しようとしています。run 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();
        }
    }

上記のコードの問題を誰か教えてもらえますか? zip が上書きされる理由

4

1 に答える 1

1

ここを見てください:

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

あなたは電話する必要があります

zipFile.BeginUpdate();

//add file..

zipFile.CommitUpdate();
于 2012-03-21T11:12:23.417 に答える