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