Class SevenZipArchive

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, IDisposable

Inheritance

object SevenZipArchive

Implements

IArchive , IDisposable

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

ArgumentException

sourceStream’ is not seekable.

ArgumentNullException

sourceStream’ is null.

NotImplementedException

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

ArgumentNullException

path’ is null.

SecurityException

Zákazník nemá požadované povolení k přístupu.

ArgumentException

code class=“paramref”>path’ je prázdný, obsahuje pouze bílé prostory, nebo obsahuje neplatné znaky.

UnauthorizedAccessException

Přístup k souboru path" je odmítnut.

PathTooLongException

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.

NotSupportedException

Soubor na path’ obsahuje kolonu (:) uprostřed řádku.

FileNotFoundException

Soubor nebyl nalezen.

DirectoryNotFoundException

Uvedená trasa je neplatná, např. být na nezapsaném pohonu.

IOException

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

ArgumentNullException

parts’ is null.

ArgumentException

parts’ has no entries.

SecurityException

Zákazník nemá požadované povolení k přístupu.

ArgumentException

Cesta k souboru je prázdná, obsahuje pouze bílé prostory nebo obsahuje neplatné znaky.

UnauthorizedAccessException

Přístup k souboru je odmítnut.

PathTooLongException

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.

NotSupportedException

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

SevenZipEntrySettings

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

SevenZipArchive

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

DirectoryNotFoundException

Cesta do adresy directory" je neplatná, např. být na bez mapovaného disku.

SecurityException

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

SevenZipArchive

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

SevenZipArchiveEntry

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

UnauthorizedAccessException

fileInfo’ is read-only or is a directory.

DirectoryNotFoundException

Uvedená trasa je neplatná, např. být na nezapsaném pohonu.

IOException

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

SevenZipArchiveEntry

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

InvalidOperationException

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

SevenZipArchiveEntry

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

SevenZipArchiveEntry

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

ArgumentNullException

path’ is null.

SecurityException

Zákazník nemá požadované povolení k přístupu.

ArgumentException

code class=“paramref”>path’ je prázdný, obsahuje pouze bílé prostory, nebo obsahuje neplatné znaky.

UnauthorizedAccessException

Přístup k souboru path" je odmítnut.

PathTooLongException

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.

NotSupportedException

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.SevenZips.#ctor(Systém.String,System. String) nebo __ WL51.ZiP.7 ZipArchive.

Exceptions

ArgumentNullException

destinationDirectory’ is null.

PathTooLongException

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.

SecurityException

Návštěvník nemá požadované povolení k přístupu k stávajícímu adresáři.

NotSupportedException

Pokud adresář neexistuje, trasa obsahuje znak kolonu (:) který není součástí označení disku (“C:”).

ArgumentException

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 (:).

IOException

dek určený cestou je soubor. -or- Název sítě není znám.

InvalidDataException

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

ArgumentException

output’ does not support seeking.

ArgumentNullException

output’ is null.

InvalidOperationException

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

ArgumentNullException

destinationFileName’ is null.

SecurityException

Zákazník nemá požadované povolení k přístupu.

ArgumentException

code class=“paramref”>destinationFileName’ je prázdný, obsahuje pouze bílé prostory, nebo obsahuje neplatné znaky.

UnauthorizedAccessException

Přístup k souboru destinationFileName’ je odmítnut.

PathTooLongException

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.

NotSupportedException

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

InvalidOperationException

Tento archiv byl otevřen z existujícího zdroje.

ArgumentNullException

destinationDirectory’ is null.

SecurityException

Návštěvník nemá požadované povolení k přístupu k adresáři.

ArgumentException

destinationDirectory’ contains invalid characters such as “, >, <, or |.

PathTooLongException

Uvedená trasa překračuje maximální délku stanovenou systémem.

 Čeština