Istnieje metoda ExtractSelectedEntries w klasie ZipFile. oto podpis metody.
public void ExtractSelectedEntries(string selectionCriteria, string directoryPathInArchive, string extractDirectory, ExtractExistingFileAction extractExistingFile)
W twoim programie możesz po prostu wyodrębnić określone pliki, podając kryteria selectionCriteria.
public void ExtractFileToDirectory(string zipFileName, string outputDirectory)
{
ZipFile zip = ZipFile.Read(zipFileName);
Directory.CreateDirectory(outputDirectory);
zip.ExtractSelectedEntries("name = *.doc", "document\", outputDirectory, ExtractExistingFileAction.OverwriteSilently);
}
Możesz łączyć kryteria ze spójnikami AND lub OR. Używanie łańcucha typu "name = * .txt ORAZ size> = 100k" dla kryterium selectionCriteria pobiera wpisy, których nazwy kończą się na .txt i których rozmiar nieskompresowany jest większy lub równy 100 kilobajtów.
oto kilka próbek Kryteria
kryteria (Pliki pobierane)
imię! = * .xls (dowolny plik z rozszerzeniem, które nie jest .xls)
nazwy = * .mp3 (dowolny plik z rozszerzeniem .mp3)
* .mp3 (taki sam jak powyżej, dowolny plik z rozszerzeniem .mp3)
atrybuty = A (wszystkie pliki, których atrybuty zawierają bitu archiwum)
atrybuty! = H (wszystkie pliki, których atrybuty nie zawierają ukryte bit)
mtime> 2009-01-01 (całość pliki z ostatniej modyfikacji czasu po 1 stycznia 2009 roku)
rozmiar> 2GB (wszystkie pliki, których nieskompresowany rozmiar jest większy niż 2 GB)
Dalsze odniesienia, ty SHO Czytałeś sam dokument API z biblioteką.
Jak korzystać z ExtractSelectedEntries z wieloma kryteriami. Potrzebuję go do wszystkich formatów graficznych (jpg, png, gif, jpeg). Jak to zrobić? –