Class Archive
Pôvodný názov: Aspose.Zip Zhromaždenie: Aspose.Zip.dll (25.5.0)
Táto trieda predstavuje zip archív súbor. Použite ho na zloženie, extrahovať alebo aktualizovať zip súbory.
public class Archive : IArchive, IDisposable
Inheritance
Implements
Z dedičných členov
object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Constructors
Archive(ArchiveEntrySettings)
Initalizuje novú inštanciu triedy Aspose.Zip.Archive s voliteľnými nastavením pre jej záznamy.
public Archive(ArchiveEntrySettings newEntrySettings = null)
Parameters
newEntrySettings
ArchiveEntrySettings
Kompresia a šifrovanie nastavenia používané pre nové pridané položky Aspose.Zip.ArchiveEntry.Ak nie je uvedené, najčastejšie Deflate kompresiu bez šifrovania by sa používal.
Examples
Nasledujúci príklad ukazuje, ako komprimovať jeden súbor s predvolenými nastavením.
using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
using (var archive = new Archive())
{
archive.CreateEntry("data.bin", "file.dat");
archive.Save(zipFile);
}
}
Archive(Stream, ArchívLoadOptions, ArchívEntrySettings)
Initalizuje novú inštanciu triedy Aspose.Zip.Archive a skladá zoznam vstupov, ktoré možno vytiahnuť z archívu.
public Archive(Stream sourceStream, ArchiveLoadOptions loadOptions = null, ArchiveEntrySettings newEntrySettings = null)
Parameters
sourceStream
Stream
zdrojom archívu.
loadOptions
ArchiveLoadOptions
Možnosti načítania existujúcich archívov.
newEntrySettings
ArchiveEntrySettings
Kompresia a šifrovanie nastavenia používané pre nové pridané položky Aspose.Zip.ArchiveEntry.Ak nie je uvedené, najčastejšie Deflate kompresiu bez šifrovania by sa používal.
Examples
Nasledujúci príklad extrahuje šifrovaný archív, potom dekompresuje prvý vstup do .
var fs = File.OpenRead("encrypted.zip");
var extracted = new MemoryStream();
using (Archive archive = new Archive(fs, new ArchiveLoadOptions() { DecryptionPassword = "p@s$" }))
{
using (var decompressed = archive.Entries[0].Open())
{
byte[] b = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(b, 0, b.Length)))
extracted.Write(b, 0, bytesRead);
}
}
Remarks
Tento konštruktor dekompresuje žiadne vstupy. pozri Aspose.Zip.ArchiveEntry.Open(System.String) metóda dekompresovania.
Exceptions
sourceStream’ is not seekable.
Názov šifrovania pre AES je v rozpore s metódou kompresie WinZip.
Archive(String, ArchívLoadOptions, ArchívEntrySettings)
Initalizuje novú inštanciu triedy Aspose.Zip.Archive a skladá zoznam vstupov, ktoré možno vytiahnuť z archívu.
public Archive(string path, ArchiveLoadOptions loadOptions = null, ArchiveEntrySettings newEntrySettings = null)
Parameters
path
string
Plne kvalifikovaný alebo relatívna cesta k archívnemu súboru.
loadOptions
ArchiveLoadOptions
Možnosti načítania existujúcich archívov.
newEntrySettings
ArchiveEntrySettings
Kompresia a šifrovanie nastavenia používané pre nové pridané položky Aspose.Zip.ArchiveEntry.Ak nie je uvedené, najčastejšie Deflate kompresiu bez šifrovania by sa používal.
Examples
Nasledujúci príklad extrahuje šifrovaný archív, potom dekompresuje prvý vstup do .
var extracted = new MemoryStream();
using (Archive archive = new Archive("encrypted.zip", new ArchiveLoadOptions() { DecryptionPassword = "p@s$" }))
{
using (var decompressed = archive.Entries[0].Open())
{
byte[] b = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(b, 0, b.Length)))
extracted.Write(b, 0, bytesRead);
}
}
Remarks
Tento konštruktor dekompresuje žiadne vstupy. pozri Aspose.Zip.ArchiveEntry.Open(System.String) metóda dekompresovania.
Exceptions
path’ is null.
Návštevník nemá požadované povolenie na prístup.
path’ je prázdna, obsahuje iba biele priestory, alebo obsahuje neplatné znaky.
Prístup k súboru path" je zamietnutý.
Názov súboru alebo obaja presahujú maximálnu dĺžku definovanú systémom. Napríklad, na platformách založených na systéme Windows, trasy musia byť menej ako 248 znakov a názvy súborov musia byť menej ako 260 znakov.
Súbor na path’ obsahuje stĺpec (:) v strede riadku.
Súbor sa nenašiel.
Uvedená trasa je neplatná, napr. byť na nezamestnanom disku.
Súbor je už otvorený.
Súbor je korumpovaný.
Archive(Stringová, Stringová[], ArchívLoadOptions)
Initalizuje nový príklad triedy Aspose.Zip.Archive z multi-volume zip archív a skladá zoznam vstupov, ktoré možno vytiahnuť z archívu.
public Archive(string mainSegment, string[] segmentsInOrder, ArchiveLoadOptions loadOptions = null)
Parameters
mainSegment
string
Cesta do posledného segmentu viacvolumenového archívu s centrálnym adresárom.
Zvyčajne tento segment má rozšírenie *.zip a je menší ako ostatné.
segmentsInOrder
string
[]
Cesty do každého segmentu, ale posledný multi-volume zip archív dodržiava objednávku.
Zvyčajne nazývajú filename.z01, filename.z02, …, filename.z(n-1).
loadOptions
ArchiveLoadOptions
Možnosti načítania existujúcich archívov.
Examples
Tento vzorec extrahuje do katalógu archív troch segmentov.
using (Archive a = new Archive("archive.zip", new string[] { "archive.z01", "archive.z02" }))
{
a.ExtractToDirectory("destination");
}
Exceptions
Nemôžete nahrať hlavice ZIP, pretože poskytnuté súbory sú korumpované.
Properties
Entries
Získava záznamy typu Aspose.Zip.ArchiveEntry, ktorý tvorí archív.
public ReadOnlyCollection<archiveentry> Entries { get; }
Hodnota nehnuteľnosti
ReadOnlyCollection < ArchiveEntry >
NewEntrySettings
Kompresia a šifrovanie nastavenia používané pre nové pridané položky Aspose.Zip.ArchiveEntry.
public ArchiveEntrySettings NewEntrySettings { get; }
Hodnota nehnuteľnosti
Methods
CreateEntries(Úvodná stránka > Bool)
Pridajte do archívu všetky súbory a adresáre opakovane v danom adresári.
public Archive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true)
Parameters
directory
DirectoryInfo
Príručka na kompresiu.
includeRootDirectory
bool
Ukazuje, či zahŕňať samotný koreňový adresár alebo nie.
Returns
Archív s skladateľnými záznammi.
Examples
using (Archive archive = new Archive())
{
DirectoryInfo folder = new DirectoryInfo("C:\folder");
archive.CreateEntries(folder);
archive.Save("folder.zip");
}
Exceptions
Cesta do adresára directory’ je neplatná, napríklad byť na nezapísanom disku.
Volávač nemá požadované povolenie na prístup k directory".
CreateEntries(striekačka, bool)
Pridajte do archívu všetky súbory a adresáre opakovane v danom adresári.
public Archive CreateEntries(string sourceDirectory, bool includeRootDirectory = true)
Parameters
sourceDirectory
string
Príručka na kompresiu.
includeRootDirectory
bool
Ukazuje, či zahŕňať samotný koreňový adresár alebo nie.
Returns
Archív s skladateľnými záznammi.
Examples
using (Archive archive = new Archive())
{
archive.CreateEntries("C:\folder");
archive.Save("folder.zip");
}
CreateEntry(string, string, bool, archívEntrySettings)
Vytvorte jediný vstup v archíve.
public ArchiveEntry CreateEntry(string name, string path, bool openImmediately = false, ArchiveEntrySettings newEntrySettings = null)
Parameters
name
string
Názov vstupu.
path
string
Plne kvalifikovaný názov nového súboru alebo relatívny názov súboru, ktorý sa má stlačiť.
openImmediately
bool
Je pravda, že ak otvoríte súbor ihneď, inak otvoríte súbor na archívnom úložisku.
newEntrySettings
ArchiveEntrySettings
Kompresia a šifrovanie nastavenia používané pre pridaný Aspose.Zip.ArchiveEntry položku.
Returns
ZIP vstupná inštancia.
Examples
using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
using (var archive = new Archive())
{
archive.CreateEntry("data.bin", "file.dat");
archive.Save(zipFile);
}
}
Remarks
Názov súboru uvedený v paramete nemá vplyv na názov súboru.
Ak sa súbor otvorí okamžite s parametrom, blokuje sa, kým sa archív nezachráni.
Exceptions
path’ is null.
Návštevník nemá požadované povolenie na prístup.
path’ je prázdna, obsahuje iba biele priestory, alebo obsahuje neplatné znaky.
Prístup k súboru path" je zamietnutý.
Názov súboru alebo obaja presahujú maximálnu dĺžku definovanú systémom. Napríklad, na platformách založených na systéme Windows, trasy musia byť menej ako 248 znakov a názvy súborov musia byť menej ako 260 znakov.
Súbor na path’ obsahuje stĺpec (:) v strede riadku.
CreateEntry(String, Stream, ArchívEntrySettings)
Vytvorte jediný vstup v archíve.
public ArchiveEntry CreateEntry(string name, Stream source, ArchiveEntrySettings newEntrySettings = null)
Parameters
name
string
Názov vstupu.
source
Stream
Vstupný prúd pre vstup.
newEntrySettings
ArchiveEntrySettings
Kompresia a šifrovanie nastavenia používané pre pridaný Aspose.Zip.ArchiveEntry položku.
Returns
ZIP vstupná inštancia.
Examples
using (var archive = new Archive(new ArchiveEntrySettings(null, new AesEcryptionSettings("p@s$", EncryptionMethod.AES256))))
{
archive.CreateEntry("data.bin", new MemoryStream(new byte[] {0x00, 0xFF} ));
archive.Save("archive.zip");
}
CreateEntry(string, FileInfo, bool, ArchívEntrySettings)
Vytvorte jediný vstup v archíve.
public ArchiveEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false, ArchiveEntrySettings newEntrySettings = null)
Parameters
name
string
Názov vstupu.
fileInfo
FileInfo
Metadata súboru by mali byť komprimované.
openImmediately
bool
Je pravda, že ak otvoríte súbor ihneď, inak otvoríte súbor na archívnom úložisku.
newEntrySettings
ArchiveEntrySettings
Kompresia a šifrovanie nastavenia používané pre pridaný Aspose.Zip.ArchiveEntry položku.
Returns
ZIP vstupná inštancia.
Examples
Zložte archív s záznammi šifrovanými rôznymi šifrovanými metódami a heslami.
using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
FileInfo fi1 = new FileInfo("data1.bin");
FileInfo fi2 = new FileInfo("data2.bin");
FileInfo fi3 = new FileInfo("data3.bin");
using (var archive = new Archive())
{
archive.CreateEntry("entry1.bin", fi1, false, new ArchiveEntrySettings(new DeflateCompressionSettings(), new TraditionalEncryptionSettings("pass1")));
archive.CreateEntry("entry2.bin", fi2, false, new ArchiveEntrySettings(new DeflateCompressionSettings(), new AesEcryptionSettings("pass2", EncryptionMethod.AES128)));
archive.CreateEntry("entry3.bin", fi3, false, new ArchiveEntrySettings(new DeflateCompressionSettings(), new AesEcryptionSettings("pass3", EncryptionMethod.AES256)));
archive.Save(zipFile);
}
}
Remarks
Názov súboru uvedený v paramete nemá vplyv na názov súboru.
Ak sa súbor otvorí okamžite s parametrom, blokuje sa, kým sa archív nezachráni.
Exceptions
fileInfo’ is read-only or is a directory.
Uvedená trasa je neplatná, napr. byť na nezamestnanom disku.
Súbor je už otvorený.
CreateEntry(struny, Stream, ArchiveEntrySettings, FileSystemInfo)
Vytvorte jediný vstup v archíve.
public ArchiveEntry CreateEntry(string name, Stream source, ArchiveEntrySettings newEntrySettings, FileSystemInfo fileInfo)
Parameters
name
string
Názov vstupu.
source
Stream
Vstupný prúd pre vstup.
newEntrySettings
ArchiveEntrySettings
Kompresia a šifrovanie nastavenia používané pre pridaný Aspose.Zip.ArchiveEntry položku.
fileInfo
FileSystemInfo
Metadata súboru alebo priečinka sa majú komprimovať.
Returns
ZIP vstupná inštancia.
Examples
Zložte archív s šifrovaným vstupom.
using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
using (var archive = new Archive())
{
archive.CreateEntry("entry1.bin", new MemoryStream(new byte[] {0x00, 0xFF} ), new ArchiveEntrySettings(new DeflateCompressionSettings(), new TraditionalEncryptionSettings("pass1")), new FileInfo("data1.bin"));
archive.Save(zipFile);
}
}
Remarks
Názov súboru uvedený v paramete nemá vplyv na názov súboru.
môžete odkazovať na System.IO.DirectoryInfo, ak je záznam adresára.
Exceptions
Obidve source’ a
fileInfo’ sú null alebo
source’ je null a
fileInfo’ je pre adresár.
CreateEntry(Príslušenstvo pre String, Func, ArchívyEntrySettings)
Vytvorte jediný vstup v archíve.
public ArchiveEntry CreateEntry(string name, Func<stream> streamProvider, ArchiveEntrySettings newEntrySettings = null)
Parameters
name
string
Názov vstupu.
streamProvider
Func
<
Stream
>
Metóda poskytuje vstupný prúd pre vstup.
newEntrySettings
ArchiveEntrySettings
Kompresia a šifrovanie nastavenia používané pre pridaný Aspose.Zip.ArchiveEntry položku.
Returns
ZIP vstupná inštancia.
Examples
Zložte archív s šifrovaným vstupom.
System.Func<Stream> provider = delegate(){ return new MemoryStream(new byte[]{0xFF, 0x00}); };
using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
using (var archive = new Archive())
{
archive.CreateEntry("entry1.bin", provider, new ArchiveEntrySettings(new DeflateCompressionSettings(), new TraditionalEncryptionSettings("pass1"))));
archive.Save(zipFile);
}
}
Remarks
Táto metóda je pre .NET Framework 4.0 a vyššie a pre .NET Standard 2.0 verziu.
DeleteEntry(ArchiveEntry)
Odstráni prvý výskyt konkrétneho vstupu z zoznamu vstupov.
public Archive DeleteEntry(ArchiveEntry entry)
Parameters
entry
ArchiveEntry
Vstup na odstránenie z zoznamu vstupov.
Returns
Archív s vstupom je odstránený.
Examples
Tu je, ako môžete odstrániť všetky záznamy s výnimkou posledného:
using (var archive = new Archive("archive.zip"))
{
while (archive.Entries.Count > 1)
archive.DeleteEntry(archive.Entries[0]);
archive.Save("last_entry.zip");
}
Exceptions
Archív je odstránený.
DeleteEntry(int)
Odstrániť vstup z vstupného zoznamu podľa indexu.
public Archive DeleteEntry(int entryIndex)
Parameters
entryIndex
int
Null-based index vstupu odstrániť.
Returns
Archív s vstupom je odstránený.
Examples
using (var archive = new TarArchive("two_files.zip"))
{
archive.DeleteEntry(0);
archive.Save("single_file.zip");
}
Exceptions
Archívy sú odstránené.
entryIndex’ is less than 0.-or-
entryIndex’ is equal to or greater than ‘Entries’ count.
Dispose()
Vykonáva aplikované úlohy spojené s uvoľňovaním, uvoľňovaním alebo resetovaním neupravených zdrojov.
public void Dispose()
Dispose(bool)
Vykonáva aplikované úlohy spojené s uvoľňovaním, uvoľňovaním alebo resetovaním neupravených zdrojov.
protected virtual void Dispose(bool disposing)
Parameters
disposing
bool
Mali by sa riadiť riadené zdroje.
ExtractToDirectory(Stretnutie)
Vytiahne všetky súbory v archíve do poskytnutého katalógu.
public void ExtractToDirectory(string destinationDirectory)
Parameters
destinationDirectory
string
Cesta do adresára umiestniť extrahované súbory do.
Examples
using (var archive = new Archive("archive.zip"))
{
archive.ExtractToDirectory("C:\extracted");
}
Remarks
Ak katalóg neexistuje, vytvorí sa.
Exceptions
destinationDirectory’ is null.
Ustanovená trasa, názov súboru alebo obaja presahujú maximálnu dĺžku definovanú systémom. Napríklad na platformách založených na systéme Windows musia byť trasy menej ako 248 znakov a názvy súborov musia byť menej ako 260 znakov.
Návštevník nemá požadované povolenie na prístup k existujúcemu adresáru.
Ak adresár neexistuje, cesta obsahuje znak kolónu (:) ktorý nie je súčasťou označenia 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 (:).
Katalóg špecifikovaný cestou je súbor. -or- Názov siete nie je známy.
Nesprávne heslo bolo poskytnuté. - alebo - Archív je korumpovaný.
Save(Stream, ArchívSaveOptions)
Úspora archívov na poskytnutý prúd.
public void Save(Stream outputStream, ArchiveSaveOptions saveOptions = null)
Parameters
outputStream
Stream
Cestovný prúd .
saveOptions
ArchiveSaveOptions
Možnosti úspory archívov.
Examples
using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
using (var archive = new Archive())
{
archive.CreateEntry("entry.bin", "data.bin");
archive.Save(zipFile);
}
}
Remarks
Musí byť písateľná.
Exceptions
outputStream’ is not writable.
Archív je odstránený.
Save(String, ArchívSaveOptions)
Uloží archív do poskytnutého cieľového súboru.
public void Save(string destinationFileName, ArchiveSaveOptions saveOptions = null)
Parameters
destinationFileName
string
Ak sa špecifikovaný názov súboru odkazuje na existujúci súbor, bude prepisovaný.
saveOptions
ArchiveSaveOptions
Možnosti úspory archívov.
Examples
using (var archive = new Archive())
{
archive.CreateEntry("entry.bin", "data.bin");
archive.Save("archive.zip", new ArchiveSaveOptions() { Encoding = Encoding.ASCII });
}
Remarks
Je možné uložiť archív na rovnakú cestu, ako bola naložená z. Avšak, to sa neodporúča, pretože tento prístup používa kopírovanie do dočasného súboru.
Exceptions
destinationFileName’ is null.
Návštevník nemá požadované povolenie na prístup.
destinationFileName’ je prázdny, obsahuje iba biele priestory, alebo obsahuje neplatné znaky.
Prístup k súboru destinationFileName’ je zamietnutý.
Určená destinationFileName’, názov súboru, alebo obaja presahujú systémovo definovanú maximálnu dĺžku.Napríklad na platformách založených na systéme Windows, trasy musia byť menej ako 248 znakov a názvy súborov musia byť menej ako 260 znakov.
Súbor v destinationFileName’ obsahuje stĺpec (:) v strede riadku.
Súbor sa nenašiel.
Uvedená trasa je neplatná, napr. byť na nezamestnanom disku.
Súbor je už otvorený.
SaveSplit(Príslušenstvo, SplitArchiveSaveOptions)
Ušetrí multi-volume archív do adresára určenia poskytnutého.
public void SaveSplit(string destinationDirectory, SplitArchiveSaveOptions options)
Parameters
destinationDirectory
string
Cesta k katalógu, kde sa vytvoria archívne segmenty.
options
SplitArchiveSaveOptions
Možnosti ukladania archívov vrátane názvu súboru.
Examples
using (Archive archive = new Archive())
{
archive.CreateEntry("entry.bin", "data.bin");
archive.SaveSplit(@"C:\Folder", new SplitArchiveSaveOptions("volume", 65536));
}
Remarks
Táto metóda skladá niekoľko () súborov filename.z01, filename.z02, …, filename.z(n-1), filename.zip.
Nie je možné vytvoriť existujúce archívy multi-volume.
Exceptions
Tento archív bol otvorený z existujúceho zdroja.
Tento archív je komprimovaný pomocou metódy XZ a šifrovaný.
destinationDirectory’ is null.
Návštevník nemá požadované povolenie na prístup k adresári.
destinationDirectory’ contains invalid characters such as “, >, <, or |.
Stanovená trasa presahuje maximálnu dĺžku stanovenú systémom.
Archív je odstránený.