- DotNetZip creating zip from subset of other zip
- //All files have the same basefilename/
- string basefilename = Path.GetFileNameWithoutExtension(entries[0].FileName);
- MemoryStream memstream = new MemoryStream();
- ZipFile zip = new ZipFile();
- foreach (var entry in entries)
- {
- string newFileName = basefilename + Path.GetExtension(entry.FileName);
- zip.AddEntry(newFileName, entry.OpenReader());
- }
- zip.Save(memstream);
- //this will later go in an file-io handler class.
- FileStream outstream = File.OpenWrite(@"c:files"+basefilename+ ".zip");
- memstream.WriteTo(outstream);
- outstream.Flush();
- outstream.Close();
- using (var zip = ZipFile.Read("c:\dir\path\to\existing\zipfile.zip"))
- {
- foreach (var name in namesToRemove) // IEnumerable<String>
- {
- zip[name].Remove();
- }
- zip.Save("c:\path\to\new\Archive.zip");
- }
- using (var orig = ZipFile.Read("C:\whatever\OriginalArchive.zip"))
- {
- using (var smaller = new ZipFile())
- {
- foreach (var name in entriesToKeep)
- {
- var ms = new MemoryStream();
- orig[name].Extract(ms); // extract into stream
- ms.Seek(0,SeekOrigin.Begin);
- smaller.AddEntry(name,ms);
- }
- smaller.Save("C:\location\of\SmallerZip.zip");
- }
- }
- using(ZipFile original = ZipFile.Read("C:\path.to\original\Archive.zip"),
- smaller = new ZipFile())
- {
- foreach (var name in entriesToKeep)
- {
- zip.AddEntry(zipEntryName,
- (name) => original[name].OpenReader(),
- null);
- }
- smaller.Save("C:\path.to\smaller\Archive.zip");
- }
- using (ZipFile zip = new ZipFile())
- {
- zip.CompressionLevel = CompressionLevel.BestCompression;
- foreach (var entry in entries)
- {
- try
- {
- string newFileName = basefilename + Path.GetExtension(entry.FileName);
- zip.AddFile(newFileName, "");
- }
- catch (Exception) { }
- }
- zip.Save("c:\files\"+basefilename+ ".zip");
- }
- string basefilename = Path.GetFileNameWithoutExtension(entries[0].FileName);
- ZipFile zip = new ZipFile();
- foreach (var entry in entries){
- CrcCalculatorStream reader = entry.OpenReader();
- MemoryStream memstream = new MemoryStream();
- reader.CopyTo(memstream);
- byte[] bytes = memstream.ToArray();
- string newFileName = basefilename + Path.GetExtension(entry.FileName);
- zip.AddEntry(newFileName, bytes);
- }
- zip.Save(@"c:files" + basefilename + ".zip");