public CreateZip ( Stream outputStream, string sourceDirectory, bool recurse, string fileFilter, string directoryFilter ) : void | ||
outputStream | Stream | The stream to write archive data to. |
sourceDirectory | string | The directory to source files from. |
recurse | bool | True to recurse directories, false for no recursion. |
fileFilter | string | The |
directoryFilter | string | The |
return | void |
public void CreateZip(Stream outputStream, string sourceDirectory, bool recurse, string fileFilter, string directoryFilter)
{
NameTransform = new ZipNameTransform(sourceDirectory);
sourceDirectory_ = sourceDirectory;
using (outputStream_ = new ZipOutputStream(outputStream)) {
if (password_ != null) {
outputStream_.Password = password_;
}
outputStream_.UseZip64 = UseZip64;
var scanner = new FileSystemScanner(fileFilter, directoryFilter);
scanner.ProcessFile += ProcessFile;
if (this.CreateEmptyDirectories) {
scanner.ProcessDirectory += ProcessDirectory;
}
if (events_ != null) {
if (events_.FileFailure != null) {
scanner.FileFailure += events_.FileFailure;
}
if (events_.DirectoryFailure != null) {
scanner.DirectoryFailure += events_.DirectoryFailure;
}
}
scanner.Scan(sourceDirectory, recurse);
}
}
public Program() { string[] dirs=Directory.GetDirectories("."); foreach (string dir in dirs) { DataBase.AnimatedBitmap an = new DataBase.AnimatedBitmap(); an._Name =Path.GetFileName(dir); foreach (string file in Directory.GetFiles(dir)) if (Regex.IsMatch(Path.GetExtension(file), "jpg|png", RegexOptions.IgnoreCase)) an._Bitmaps.Add(file.Replace(@"\", "/","./","")); if (an._Bitmaps.Count > 0) { Image img = Bitmap.FromFile(an._Bitmaps.First()); an._Width = img.Width; an._Height = img.Height; _DataBase._AnimatedBitmaps.Add(an); } } Common._XmlSerializer.Serialize("./db.xml", _DataBase); FastZip _FastZip = new FastZip(); _FastZip.CreateZip("content.zip","./",true,@"\.jpg|\.png|.\xml"); }