Exemple #1
0
 public PathFilter(string filter)
 {
     nameFilter_ = new NameFilter(filter);
 }
Exemple #2
0
 public void ExtractZip(Stream inputStream, string targetDirectory, Overwrite overwrite, ConfirmOverwriteDelegate confirmDelegate, string fileFilter, string directoryFilter, bool restoreDateTime, bool isStreamOwner)
 {
     if ((overwrite == Overwrite.Prompt) && (confirmDelegate == null))
     {
         throw new ArgumentNullException("confirmDelegate");
     }
     continueRunning_ = true;
     overwrite_ = overwrite;
     confirmDelegate_ = confirmDelegate;
     extractNameTransform_ = new WindowsNameTransform(targetDirectory);
     fileFilter_ = new NameFilter(fileFilter);
     directoryFilter_ = new NameFilter(directoryFilter);
     restoreDateTimeOnExtract_ = restoreDateTime;
     using (zipFile_ = new ZipFile(inputStream))
     {
         if (password_ != null)
         {
             zipFile_.Password = password_;
         }
         zipFile_.IsStreamOwner = isStreamOwner;
         IEnumerator enumerator = zipFile_.GetEnumerator();
         while (continueRunning_ && enumerator.MoveNext())
         {
             ZipEntry current = (ZipEntry)enumerator.Current;
             if (current.IsFile)
             {
                 if (directoryFilter_.IsMatch(Path.GetDirectoryName(current.Name)) && fileFilter_.IsMatch(current.Name))
                 {
                     ExtractEntry(current);
                 }
             }
             else if ((current.IsDirectory && directoryFilter_.IsMatch(current.Name)) && CreateEmptyDirectories)
             {
                 ExtractEntry(current);
             }
         }
     }
 }