Class SevenZipArchive
Název místa: Aspose.Zip.SevenZip Sbírka: Aspose.Zip.dll (25.5.0)
Tato třída představuje archivní soubor 7z. Použijte ho k sestavování a extrahování archivů 7z.
public class SevenZipArchive : IArchive, IDisposableInheritance
Implements
Dědiční členové
object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Constructors
SevenZipArchive(SevenZipEntrySettings)
Začíná nový příklad třídy Aspose.Zip.SevenZip.SevenZipArchive s volitelnými nastaveními pro její záznamy.
public SevenZipArchive(SevenZipEntrySettings newEntrySettings = null)Parameters
newEntrySettings SevenZipEntrySettings
Kompresní a šifrovací nastavení používané pro nově přidané položky Aspose.Zip.SevenZip.SevenZipArchiveEntry.Pokud není uvedeno, LZMA komprese bez šifrování by bylo použito.
Examples
Následující příklad ukazuje, jak komprimovat jeden soubor s výchozím nastavením: LZMA komprese bez šifrování.
using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
using (var archive = new SevenZipArchive())
{
archive.CreateEntry("data.bin", "file.dat");
archive.Save(sevenZipFile);
}
}SevenZipArchive(Přívěs, String)
Začíná nový příklad třídy Aspose.Zip.SevenZip.SevenZipArchive a sestaví seznam vstupů, které lze extrahovat z archivu.
public SevenZipArchive(Stream sourceStream, string password = null)Parameters
sourceStream Stream
Zdroj z archivu.
password string
Volitelné heslo pro dešifrování. Pokud jsou názvy souborů šifrovány, musí být přítomny.
Examples
using (SevenZipArchive archive = new SevenZipArchive(File.OpenRead("archive.7z")))
{
archive.ExtractToDirectory("C:\\extracted");
}Remarks
Tento konstruktér dekomprese žádný vstup. Viz Aspose.Zip.SevenZip.SevenZipArchive.ExtractToDirectory(System.String,System.String) metoda dekomprese.
Exceptions
sourceStream’ is not seekable.
sourceStream’ is null.
Archiv obsahuje více než jeden kódovač. nyní podporuje pouze kompresi LZMA.
SevenZipArchive(String , String)
Začíná nový příklad třídy Aspose.Zip.SevenZip.SevenZipArchive a sestaví seznam vstupů, které lze extrahovat z archivu.
public SevenZipArchive(string path, string password = null)Parameters
path string
Plně kvalifikovaný nebo relativní cesta k archivu.
password string
Volitelné heslo pro dešifrování. Pokud jsou názvy souborů šifrovány, musí být přítomny.
Examples
using (SevenZipArchive archive = new SevenZipArchive("archive.7z"))
{
archive.ExtractToDirectory("C:\\extracted");
}Remarks
Tento konstruktér dekomprese žádný vstup. Viz Aspose.Zip.SevenZip.SevenZipArchive.ExtractToDirectory(System.String,System.String) metoda dekomprese.
Exceptions
path’ is null.
Zákazník nemá požadované povolení k přístupu.
code class=“paramref”>path’ je prázdný, obsahuje pouze bílé prostory, nebo obsahuje neplatné znaky.
Přístup k souboru path" je odmítnut.
Uvedený path", název souboru, nebo oba překračují maximální délku definovanou systémem. Například na platformách založených na Windows, trasy musí být méně než 248 znaků a názvy souboru musí být méně než 260 znak.
Soubor na path’ obsahuje kolonu (:) uprostřed řádku.
Soubor nebyl nalezen.
Uvedená trasa je neplatná, např. být na nezapsaném pohonu.
Soubor je již otevřen.
SevenZipArchive(Stringová[]a[], Stringov)
Začíná nový příklad třídy Aspose.Zip.SevenZip.SevenZipArchive z multi-volume 7z archivu a skládá seznam vstupů, které lze extrahovat z archivu.
public SevenZipArchive(string[] parts, string password = null)Parameters
parts string
[]a[]
Cesty do každého segmentu multi-volume 7z archiv dodržování pořadí
password string
Volitelné heslo pro dešifrování. Pokud jsou názvy souborů šifrovány, musí být přítomny.
Examples
using (SevenZipArchive archive = new SevenZipArchive(new string[] { "multi.7z.001", "multi.7z.002", "multi.7z.003" }))
{
archive.ExtractToDirectory("C:\\extracted");
}Exceptions
parts’ is null.
parts’ has no entries.
Zákazník nemá požadované povolení k přístupu.
Cesta k souboru je prázdná, obsahuje pouze bílé prostory nebo obsahuje neplatné znaky.
Přístup k souboru je odmítnut.
Například na platformách založených na Windows musí být trasy menší než 248 znaků a názvy souborů musí být menší než 260 znak.
Soubor na cestě obsahuje střechu (:) uprostřed řetězu.
Properties
Entries
Obdrží záznamy typu Aspose.Zip.SevenZip.SevenZipArchiveEntry tvořící archiv.
public ReadOnlyCollection<sevenziparchiveentry> Entries { get; }Hodnota nemovitosti
ReadOnlyCollection < SevenZipArchiveEntry >
NewEntrySettings
Kompresní a šifrovací nastavení používané pro nově přidané položky Aspose.Zip.SevenZip.SevenZipArchiveEntry.
public SevenZipEntrySettings NewEntrySettings { get; }Hodnota nemovitosti
Methods
CreateEntries(Úvodní stránka > Bool)
Přidejte do archivu všechny soubory a adresáře opakovaně v daném adresáři.
public SevenZipArchive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true)Parameters
directory DirectoryInfo
Přihláška k kompresu.
includeRootDirectory bool
Ukazuje, zda zahrnout samotný kořenový adresář nebo ne.
Returns
Archivy s sestavenými příspěvky.
Examples
using (SevenZipArchive archive = new SevenZipArchive())
{
DirectoryInfo folder = new DirectoryInfo("C:\folder");
archive.CreateEntries(folder);
archive.Save("folder.7z");
}Exceptions
Cesta do adresy directory" je neplatná, např. být na bez mapovaného disku.
Volající nemá požadované povolení k přístupu k directory'.
CreateEntries(Stringová, boolová)
Přidejte do archivu všechny soubory a adresáře opakovaně v daném adresáři.
public SevenZipArchive CreateEntries(string sourceDirectory, bool includeRootDirectory = true)Parameters
sourceDirectory string
Přihláška k kompresu.
includeRootDirectory bool
Ukazuje, zda zahrnout samotný kořenový adresář nebo ne.
Returns
Archivy s sestavenými příspěvky.
Examples
Složte archiv 7z s kompresí LZMA2.
using (SevenZipArchive archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMACompressionSettings())))
{
archive.CreateEntries("C:\folder");
archive.Save("folder.7z");
}CreateEntry(string, FileInfo, bool, SevenZipEntrySettings)
Vytvořte jediný vstup do archivu.
public SevenZipArchiveEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false, SevenZipEntrySettings newEntrySettings = null)Parameters
name string
Název vstupu.
fileInfo FileInfo
Metadata souboru musí být komprimovány.
openImmediately bool
Je pravda, že pokud otevřete soubor okamžitě, jinak otevřete soubor na archivní úspory.
newEntrySettings SevenZipEntrySettings
Kompresní a šifrovací nastavení používané pro přidání položky Aspose.Zip.SevenZip.SevenZipArchiveEntry.
Returns
Sedm vstupních bodů ZIP.
Examples
Složte archiv s záznamy šifrované různými hesly každ.
using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
FileInfo fi1 = new FileInfo("data1.bin");
FileInfo fi2 = new FileInfo("data2.bin");
FileInfo fi3 = new FileInfo("data3.bin");
using (var archive = new SevenZipArchive())
{
archive.CreateEntry("entry1.bin", fi1, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test1")));
archive.CreateEntry("entry2.bin", fi2, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test2")));
archive.CreateEntry("entry3.bin", fi3, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test3")));
archive.Save(sevenZipFile);
}
}Remarks
Vstupní název je nastaven pouze v rámci parametru. název souboru uvedený v parametru nemá vliv na vstupní název. Pokud je soubor otevřen okamžitě s parametrem, blokuje se, dokud není archiv uložen.
Exceptions
fileInfo’ is read-only or is a directory.
Uvedená trasa je neplatná, např. být na nezapsaném pohonu.
Soubor je již otevřen.
CreateEntry(řetěz, Stream, SevenZipEntrySettings, FileSystemInfo)
Vytvořte jediný vstup do archivu.
public SevenZipArchiveEntry CreateEntry(string name, Stream source, SevenZipEntrySettings newEntrySettings, FileSystemInfo fileInfo)Parameters
name string
Název vstupu.
source Stream
Vstupní proud pro vstup.
newEntrySettings SevenZipEntrySettings
Kompresní a šifrovací nastavení používané pro přidání položky Aspose.Zip.SevenZip.SevenZipArchiveEntry.
fileInfo FileSystemInfo
Metadata souboru nebo složky, které mají být komprimovány.
Returns
Sedm vstupních bod.
Examples
Složte archiv s LZMA2 komprimovaným šifrovaným vstupem.
using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
using (var archive = new SevenZipArchive())
{
archive.CreateEntry("entry1.bin", new MemoryStream(new byte[] {0x00, 0xFF}), new SevenZipEntrySettings(new SevenZipLZMA2CompressionSettings(), new SevenZipAESEncryptionSettings("test1")), new FileInfo("data1.bin"));
archive.Save(sevenZipFile);
}
}Remarks
Vstupní název je nastaven pouze v rámci parametru. název souboru uvedený v parametru nemá vliv na vstupní název. Můžete odkazovat na System.IO.DirectoryInfo, pokud je záznam adresář.
Exceptions
Obojí source’ a fileInfo’ jsou null nebo source’ je null a fileInfo’ je pro adres.
CreateEntry(String, Stream, SevenZipEntrySettings)
Vytvořte jediný vstup do archivu.
public SevenZipArchiveEntry CreateEntry(string name, Stream source, SevenZipEntrySettings newEntrySettings = null)Parameters
name string
Název vstupu.
source Stream
Vstupní proud pro vstup.
newEntrySettings SevenZipEntrySettings
Kompresní a šifrovací nastavení používané pro přidání položky Aspose.Zip.SevenZip.SevenZipArchiveEntry.
Returns
Zip vstupní instance.
Examples
Složte 7z archiv s LZMA2 komprese a šifrování všech vstup.
using (var archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMA2CompressionSettings(), new SevenZipAESEncryptionSettings("p@s$"))))
{
archive.CreateEntry("data.bin", new MemoryStream(new byte[] {0x00, 0xFF} ));
archive.Save("archive.7z");
}CreateEntry(string, string, bool, SevenZipEntrySettings)
Vytvořte jediný vstup do archivu.
public SevenZipArchiveEntry CreateEntry(string name, string path, bool openImmediately = false, SevenZipEntrySettings newEntrySettings = null)Parameters
name string
Název vstupu.
path string
Plně kvalifikovaný název nového souboru nebo relativní název souboru, který bude komprimován.
openImmediately bool
Je pravda, že pokud otevřete soubor okamžitě, jinak otevřete soubor na archivní úspory.
newEntrySettings SevenZipEntrySettings
Kompresní a šifrovací nastavení používané pro přidání položky Aspose.Zip.SevenZip.SevenZipArchiveEntry.
Returns
Zip vstupní instance.
Examples
using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
using (var archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMA2CompressionSettings())))
{
archive.CreateEntry("data.bin", "file.dat");
archive.Save(sevenZipFile);
}
}Remarks
Vstupní název je nastaven pouze v rámci parametru. název souboru uvedený v parametru nemá vliv na vstupní název. Pokud je soubor otevřen okamžitě s parametrem, blokuje se, dokud není archiv uložen.
Exceptions
path’ is null.
Zákazník nemá požadované povolení k přístupu.
code class=“paramref”>path’ je prázdný, obsahuje pouze bílé prostory, nebo obsahuje neplatné znaky.
Přístup k souboru path" je odmítnut.
Uvedený path", název souboru, nebo oba překračují maximální délku definovanou systémem. Například na platformách založených na Windows, trasy musí být méně než 248 znaků a názvy souboru musí být méně než 260 znak.
Soubor na path’ obsahuje kolonu (:) uprostřed řádku.
Dispose()
Provádí aplikativně definované úkoly spojené s uvolňováním, uvolňováním nebo resetováním neupravených zdroj.
public void Dispose()Dispose(Bolíček)
Provádí aplikativně definované úkoly spojené s uvolňováním, uvolňováním nebo resetováním neupravených zdroj.
protected virtual void Dispose(bool disposing)Parameters
disposing bool
Je nutné zlikvidovat spravované zdroje.
ExtractToDirectory(String , String)
Vytahuje všechny soubory v archivu do poskytnutého adresáře.
public void ExtractToDirectory(string destinationDirectory, string password = null)Parameters
destinationDirectory string
Cesta do adresáře umístit extrahované soubory do.
password string
Volitelné heslo pro dešifrování obsahu.
Examples
using (var archive = new SevenZipArchive("archive.7z"))
{
archive.ExtractToDirectory("C:\extracted");
}Remarks
Pokud adresář neexistuje, bude vytvořen. Používá se pouze pro dešifrování obsahu. Pokud jsou názvy souborů šifrované, zadejte heslo v ASPOSE.ZIP.SevenZip.7 ZipArchive.#ctor(System.String,Systém. String) nebo Aspose.ZEPSE-ZYP.7.
Exceptions
destinationDirectory’ is null.
Zadaná trasa, název souboru nebo obojí přesahuje maximální délku definovanou systémem. Například na platformách založených na Windows musí být trasa menší než 248 znaků a název souboru musí být menší než 260 znak.
Návštěvník nemá požadované povolení k přístupu k stávajícímu adresáři.
Pokud adresář neexistuje, trasa obsahuje znak kolonu (:) který není součástí označení disku (“C:”).
destinationDirectory’ is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters by using the System.IO.Path.GetInvalidPathChars method. -or- path is prefixed with, or contains, only a colon character (:).
dek určený cestou je soubor. -or- Název sítě není znám.
Archiv je zkorumpován.
Save(Stream)
Ušetří 7z archiv na poskytnutém toku.
public void Save(Stream output)Parameters
output Stream
Destinace v toku.
Examples
using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
using (var archive = new SevenZipArchive())
{
archive.CreateEntry("data", source);
archive.Save(sevenZipFile);
}
}
}Remarks
Musí být vyhledatelné.
Exceptions
output’ does not support seeking.
output’ is null.
ifrovací program nedokázal komprimovat data.
Save(Stringová)
Shromažďuje archiv na poskytnutý cílový soubor.
public void Save(string destinationFileName)Parameters
destinationFileName string
Pokud specifikovaný název souboru ukazuje na existující soubor, bude přepisován.
Examples
using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
using (var archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMACompressionSettings())))
{
archive.CreateEntry("data", source);
archive.Save("archive.7z");
}
}Remarks
Je možné uložit archiv na stejnou cestu, jakou byl stažen z. Nicméně, to se nedoporučuje, protože tento přístup používá kopírování do dočasného souboru.
Exceptions
destinationFileName’ is null.
Zákazník nemá požadované povolení k přístupu.
code class=“paramref”>destinationFileName’ je prázdný, obsahuje pouze bílé prostory, nebo obsahuje neplatné znaky.
Přístup k souboru destinationFileName’ je odmítnut.
Uvedený destinationFileName’, název souboru, nebo oba překračují maximální délku definovanou systémem. Například na platformách založených na Windows musí být trasy menší než 248 znaků a název souboru musí být menší než 260 znak.
Soubor na destinationFileName’ obsahuje kolonku (:) uprostřed řádku.
SaveSplit(String, SplitSevenZipArchiveSaveOptions)
Ušetří multi-volume archiv do adresáře určených míst.
public void SaveSplit(string destinationDirectory, SplitSevenZipArchiveSaveOptions options)Parameters
destinationDirectory string
Cesta k adresáři, kde budou vytvořeny archivní segmenty.
options SplitSevenZipArchiveSaveOptions
Možnosti pro ukládání archivu, včetně názvu souboru.
Examples
using (SevenZipArchive archive = new SevenZipArchive())
{
archive.CreateEntry("entry.bin", "data.bin");
archive.SaveSplit(@"C:\Folder", new SplitSevenZipArchiveSaveOptions("volume", 65536));
}Remarks
Tato metoda se skládá z několika () souborů filename.7z.001, filename.7z.002, …, filename.7z.(n). Není možné vytvořit stávající archivní multi-volume.
Exceptions
Tento archiv byl otevřen z existujícího zdroje.
destinationDirectory’ is null.
Návštěvník nemá požadované povolení k přístupu k adresáři.
destinationDirectory’ contains invalid characters such as “, >, <, or |.
Uvedená trasa překračuje maximální délku stanovenou systémem.