Es gibt eine ExtractSelectedEntries-Methode in der ZipFile-Klasse. Hier ist die Methodensignatur.
public void ExtractSelectedEntries(string selectionCriteria, string directoryPathInArchive, string extractDirectory, ExtractExistingFileAction extractExistingFile)
So in Ihrem Programm können Sie einfach die angegebenen Dateien extrahieren, indem Sie die selectionCriteria.
public void ExtractFileToDirectory(string zipFileName, string outputDirectory)
{
ZipFile zip = ZipFile.Read(zipFileName);
Directory.CreateDirectory(outputDirectory);
zip.ExtractSelectedEntries("name = *.doc", "document\", outputDirectory, ExtractExistingFileAction.OverwriteSilently);
}
Sie können Kriterien mit den Konjunktionen UND oder ODER kombinieren. Mit einer Zeichenfolge wie "name = * .txt AND size> = 100k" für die selectionCriteria werden Einträge abgerufen, deren Namen mit .txt enden und deren unkomprimierte Größe größer oder gleich 100 Kilobyte ist.
hier sind einige Kriterien Proben
Kriterien (Dateien abgerufen)
Name! = * .xls (jede Datei mit einer Erweiterung, die nicht .xls ist)
Name = * .mp3 (jede Datei mit der Erweiterung .mp3)
* .mp3 (wie oben, jede Datei mit der Endung .mp3)
Attribute = A (alle Dateien, deren Attribute sind das Archiv Bit)
Attribute! = H (alle Dateien, deren Attribute beinhalten nicht die versteckte Bit)
mtime> 2009-01-01 (alle Dateien mit einem letzten Änderung nach dem 1. Januar 2009)
Größe> 2 GB (alle Dateien, deren unkomprimierten Größe größer als 2 GB)
weitere Referenz, Sie sho Lesen Sie das API-Dokument allein mit der Bibliothek.
Verwendung von ExtractSelectedEntries mit mehreren Kriterien. Ich brauche es für alle Bildformate (jpg, png, gif, jpeg). Wie es geht? –