Exemplo n.º 1
0
 public void AddFile(ZipStorer.CompressionMethod compressionMethod, string sourceFile, string fileNameInZip, string fileEntryComment)
 {
     if (this.access == FileAccess.Read)
     {
         throw new InvalidOperationException("Writing is not allowed");
     }
     using (FileStream fileStream = new FileStream(sourceFile, FileMode.Open, FileAccess.Read))
     {
         this.AddStream(compressionMethod, fileStream, fileNameInZip, File.GetLastWriteTime(sourceFile), fileEntryComment);
     }
 }
Exemplo n.º 2
0
 public void AddStream(ZipStorer.CompressionMethod compressionMethod, Stream sourceStream, string fileNameInZip, DateTime modificationTimeStamp, string fileEntryComment)
 {
     if (this.access == FileAccess.Read)
     {
         throw new InvalidOperationException("Writing is not allowed");
     }
     ZipStorer.ZipFileEntry item = default(ZipStorer.ZipFileEntry);
     item.Method        = compressionMethod;
     item.EncodeUTF8    = this.EncodeUtf8;
     item.FilenameInZip = ZipStorer.NormalizeFileName(fileNameInZip);
     item.Comment       = ((fileEntryComment == null) ? string.Empty : fileEntryComment);
     item.Crc32         = 0u;
     item.HeaderOffset  = (uint)this.zipFileStream.Position;
     item.ModifyTime    = modificationTimeStamp;
     this.WriteLocalHeader(ref item);
     item.FileOffset = (uint)this.zipFileStream.Position;
     this.Store(ref item, sourceStream);
     sourceStream.Close();
     this.UpdateCrcAndSizes(ref item);
     this.files.Add(item);
 }