我的目的是将zip文件里面包含的一个文件替换掉,前题是不要将整个zip文件先解压再替换再压缩,因为原来的zip文件可能会比较大,我现在已经可以将zip中的某个文件单独解压出来,但是压不回去,所以想问一下,怎么利用SharpZipLib将zip文件中的某个文件删除掉,并用新的文件替换掉?

解决方案 »

  1.   

    no ...
    just answer it!
      

  2.   

    using (ZipFile s = new ZipFile(zip文件名))
    {
       ZipEntry theEntry = s.GetEntry(文件名);
       s.BeginUpdate();
       s.Delete(theEntry);
       s.CommitUpdate();
    }
      

  3.   

    楼上的,请问一下你所说的 s.BeginUpdate(); 
      s.Delete(theEntry); 
      s.CommitUpdate(); 我都没有找到,你是指的哪个引用里的呢?
      

  4.   

                    ZipFile zip = new ZipFile("d:\\a.zip");
                    ZipEntry delete = zip.GetEntry("oldfile.txt");
                    zip.Delete(delete);
                    ZipEntry newfile = new ZipEntry("d:\\newfile.txt");
                    zip.Add(newfile);
      

  5.   

    lz用的那个版本啊,你下最新版本就有。
    Version: 0.85.4.369