Class SevenZipArchive
De naam: Aspose.Zip.SevenZip Verzameling: Aspose.Zip.dll (25.5.0)
Deze klasse vertegenwoordigt 7z archiefbestand. Gebruik het om 7z archieven te composeren en te extraheren.
public class SevenZipArchive : IArchive, IDisposable
Inheritance
Implements
Geëerbiede leden
object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Constructors
SevenZipArchive(SevenZipEntrySettings)
Initialiseert een nieuwe instantie van de Aspose.Zip.SevenZip.SevenZipArchive-klasse met optionele instellingen voor de inzichten.
public SevenZipArchive(SevenZipEntrySettings newEntrySettings = null)
Parameters
newEntrySettings
SevenZipEntrySettings
Compression en encryptie instellingen gebruikt voor nieuw toegevoegde Aspose.Zip.SevenZip.SevenZipArchiveEntry items.Als niet aangegeven, LZMA compressie zonder encryptie zou worden gebruikt.
Examples
Het volgende voorbeeld laat zien hoe u een enkele bestand met standaard instellingen kunt compresseren: LZMA compression zonder encryptie.
using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
using (var archive = new SevenZipArchive())
{
archive.CreateEntry("data.bin", "file.dat");
archive.Save(sevenZipFile);
}
}
SevenZipArchive(Strom, Strom)
Initialiseert een nieuwe instantie van de Aspose.Zip.SevenZip.SevenZipArchive-klasse en maakt een inlijstlijst die uit het archief kan worden geïntroduceerd.
public SevenZipArchive(Stream sourceStream, string password = null)
Parameters
sourceStream
Stream
De bron van het archief.
password
string
Optionele wachtwoord voor decryptie.Als de bestandnamen worden gecodeerd, moet het aanwezig zijn.
Examples
using (SevenZipArchive archive = new SevenZipArchive(File.OpenRead("archive.7z")))
{
archive.ExtractToDirectory("C:\\extracted");
}
Remarks
Zie Aspose.Zip.SevenZip.SevenZipArchive.ExtractToDirectory(System.String,System.String) methode voor decompressie.
Exceptions
sourceStream’ is not seekable.
sourceStream’ is null.
Het archief bevat meer dan één coder. nu alleen LZMA-compressie ondersteund.
SevenZipArchive(String en String)
Initialiseert een nieuwe instantie van de Aspose.Zip.SevenZip.SevenZipArchive-klasse en maakt een inlijstlijst die uit het archief kan worden geïntroduceerd.
public SevenZipArchive(string path, string password = null)
Parameters
path
string
De volledig gekwalificeerde of de relatieve route naar het archiefbestand.
password
string
Optionele wachtwoord voor decryptie.Als de bestandnamen worden gecodeerd, moet het aanwezig zijn.
Examples
using (SevenZipArchive archive = new SevenZipArchive("archive.7z"))
{
archive.ExtractToDirectory("C:\\extracted");
}
Remarks
Zie Aspose.Zip.SevenZip.SevenZipArchive.ExtractToDirectory(System.String,System.String) methode voor decompressie.
Exceptions
path’ is null.
De oproepgever heeft niet de vereiste toestemming om toegang te krijgen.
De path’ is leeg, bevat alleen witte ruimtes of bevat invalide tekens.
De toegang tot het bestand path’ wordt geweigerd.
De aangegeven path’, bestandsnaam, of beide overschrijden de door het systeem gedefinieerde maximale lengte. Bijvoorbeeld, op Windows-gebaseerde platforms, moeten paden minder dan 248 tekens zijn, en bestandsnamen moeten minder dan 260 tekens zijn.
Het bestand op path’ bevat een kolom (:) in het midden van de string.
Het bestand is niet gevonden.
De aangegeven route is ongeldig, bijvoorbeeld op een onmapped drive.
Het bestand is al open.
SevenZipArchive(String[], De string)
Initialiseert een nieuwe instantie van de Aspose.Zip.SevenZip.SevenZipArchive-klasse uit het multi-volume 7z-archief en maakt een lijst met ingang die uit het archief kan worden geïntroduceerd.
public SevenZipArchive(string[] parts, string password = null)
Parameters
parts
string
[]
Stappen naar elk segment van multi-volume 7z archief met volgorde
password
string
Optionele wachtwoord voor decryptie.Als de bestandnamen worden gecodeerd, moet het aanwezig zijn.
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.
De oproepgever heeft niet de vereiste toestemming om toegang te krijgen.
De weg naar een bestand is leeg, bevat alleen witte ruimtes, of bevat ongeldig karakters.
Toegang tot een bestand wordt geweigerd.
De gespecificeerde route naar een deel, bestandnaam, of beide overschrijdt de door het systeem gedefinieerde maximale lengte. Bijvoorbeeld, op Windows-gebaseerde platforms, moeten paden minder dan 248 tekens, en bestandnamen moeten minder dan 260 tekens zijn.
Een bestand op een pad bevat een kolom (:) in het midden van de draad.
Properties
Entries
Geeft input van Aspose.Zip.SevenZip.SevenZipArchiveEntry type dat het archief vormt.
public ReadOnlyCollection<sevenziparchiveentry> Entries { get; }
Eigendomswaarde
ReadOnlyCollection < SevenZipArchiveEntry >
NewEntrySettings
Compression en encryptie instellingen gebruikt voor nieuw toegevoegde Aspose.Zip.SevenZip.SevenZipArchiveEntry items.
public SevenZipEntrySettings NewEntrySettings { get; }
Eigendomswaarde
Methods
CreateEntries(DirectoryInfo, Bool)
Toegevoegd aan het archief alle bestanden en directories opnieuw in de gegeven directory.
public SevenZipArchive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true)
Parameters
directory
DirectoryInfo
Directory voor compressie.
includeRootDirectory
bool
Hiermee wordt aangegeven of de root directory zelf moet worden opgenomen of niet.
Returns
Het archief met ingeschreven inzichten.
Examples
using (SevenZipArchive archive = new SevenZipArchive())
{
DirectoryInfo folder = new DirectoryInfo("C:\folder");
archive.CreateEntries(folder);
archive.Save("folder.7z");
}
Exceptions
De route naar directory’ is ongeldig, bijvoorbeeld op een niet-mapped schijf.
De oproeker heeft niet de vereiste toestemming om toegang te krijgen tot directory'.
CreateEntries(String en Bool)
Toegevoegd aan het archief alle bestanden en directories opnieuw in de gegeven directory.
public SevenZipArchive CreateEntries(string sourceDirectory, bool includeRootDirectory = true)
Parameters
sourceDirectory
string
Directory voor compressie.
includeRootDirectory
bool
Hiermee wordt aangegeven of de root directory zelf moet worden opgenomen of niet.
Returns
Het archief met ingeschreven inzichten.
Examples
Compose 7z archief met LZMA2 compressie.
using (SevenZipArchive archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMACompressionSettings())))
{
archive.CreateEntries("C:\folder");
archive.Save("folder.7z");
}
CreateEntry(string, FileInfo, bool, SevenZipEntrySettings)
Creëren van een enkele ingang binnen het archief.
public SevenZipArchiveEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false, SevenZipEntrySettings newEntrySettings = null)
Parameters
name
string
De naam van de ingang.
fileInfo
FileInfo
De metadata van het bestand moeten worden gecomprimeerd.
openImmediately
bool
Het is waar, als u het bestand onmiddellijk opent, anders opent u het bestand op archiefopslag.
newEntrySettings
SevenZipEntrySettings
Compression en encryptie instellingen gebruikt voor het toevoegen van Aspose.Zip.SevenZip.SevenZipArchiveEntry item.
Returns
Zeven Zip invoer instanties.
Examples
Compose archief met entries versleuteld met verschillende wachtwoorden elk.
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
De invoernaam is uitsluitend ingesteld binnen de parameter.De in de parameter verstrekte bestandnaam beïnvloedt de invoernaam niet.
Als het bestand onmiddellijk wordt geopend met de parameter wordt het geblokkeerd totdat het archief is opgeslagen.
Exceptions
fileInfo’ is read-only or is a directory.
De aangegeven route is ongeldig, bijvoorbeeld op een onmapped drive.
Het bestand is al open.
CreateEntry(string, Stream, SevenZipEntrySettings, FileSystemInfo)
Creëren van een enkele ingang binnen het archief.
public SevenZipArchiveEntry CreateEntry(string name, Stream source, SevenZipEntrySettings newEntrySettings, FileSystemInfo fileInfo)
Parameters
name
string
De naam van de ingang.
source
Stream
De ingangstromen voor de ingang.
newEntrySettings
SevenZipEntrySettings
Compression en encryptie instellingen gebruikt voor het toevoegen van Aspose.Zip.SevenZip.SevenZipArchiveEntry item.
fileInfo
FileSystemInfo
De metadata van het bestand of de map om te worden gecomprimeerd.
Returns
SevenZip ingang instantie.
Examples
Compose archief met LZMA2 gecomprimeerde versleutelde ingang.
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
De invoernaam is uitsluitend ingesteld binnen de parameter.De in de parameter verstrekte bestandnaam beïnvloedt de invoernaam niet.
kan verwijzen naar System.IO.DirectoryInfo als de ingang een directory is.
Exceptions
Beide source’ en
fileInfo’ zijn nul of
source’ is nul en
fileInfo’ staat voor directory.
CreateEntry(String, Stream, SevenZipEntrySettings)
Creëren van een enkele ingang binnen het archief.
public SevenZipArchiveEntry CreateEntry(string name, Stream source, SevenZipEntrySettings newEntrySettings = null)
Parameters
name
string
De naam van de ingang.
source
Stream
De ingangstromen voor de ingang.
newEntrySettings
SevenZipEntrySettings
Compression en encryptie instellingen gebruikt voor het toevoegen van Aspose.Zip.SevenZip.SevenZipArchiveEntry item.
Returns
Zip ingang instantie.
Examples
Compose 7z archief met LZMA2 compressie en encryptie van alle inzichten.
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)
Creëren van een enkele ingang binnen het archief.
public SevenZipArchiveEntry CreateEntry(string name, string path, bool openImmediately = false, SevenZipEntrySettings newEntrySettings = null)
Parameters
name
string
De naam van de ingang.
path
string
De volledig gekwalificeerde naam van de nieuwe bestand, of de relatieve bestandnaam om te worden gecomprimeerd.
openImmediately
bool
Het is waar, als u het bestand onmiddellijk opent, anders opent u het bestand op archiefopslag.
newEntrySettings
SevenZipEntrySettings
Compression en encryptie instellingen gebruikt voor het toevoegen van Aspose.Zip.SevenZip.SevenZipArchiveEntry item.
Returns
Zip ingang instantie.
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
De invoernaam is uitsluitend ingesteld binnen de parameter.De in de parameter verstrekte bestandnaam beïnvloedt de invoernaam niet.
Als het bestand onmiddellijk wordt geopend met de parameter wordt het geblokkeerd totdat het archief is opgeslagen.
Exceptions
path’ is null.
De oproepgever heeft niet de vereiste toestemming om toegang te krijgen.
De path’ is leeg, bevat alleen witte ruimtes of bevat invalide tekens.
De toegang tot het bestand path’ wordt geweigerd.
De aangegeven path’, bestandsnaam, of beide overschrijden de door het systeem gedefinieerde maximale lengte. Bijvoorbeeld, op Windows-gebaseerde platforms, moeten paden minder dan 248 tekens zijn, en bestandsnamen moeten minder dan 260 tekens zijn.
Het bestand op path’ bevat een kolom (:) in het midden van de string.
Dispose()
Het vervult toepasselijk gedefinieerde taken die verband houden met het vrijgeven, vrijgeven of herstructureren van onbeheerde middelen.
public void Dispose()
Dispose(Bool)
Het vervult toepasselijk gedefinieerde taken die verband houden met het vrijgeven, vrijgeven of herstructureren van onbeheerde middelen.
protected virtual void Dispose(bool disposing)
Parameters
disposing
bool
Of de beheerde middelen moeten worden afgebroken.
ExtractToDirectory(String en String)
Extract alle bestanden in het archief naar het verstrekte directory.
public void ExtractToDirectory(string destinationDirectory, string password = null)
Parameters
destinationDirectory
string
De route naar het directory om de geïntroduceerde bestanden in te plaatsen.
password
string
Optionele wachtwoord voor content decryptie.
Examples
using (var archive = new SevenZipArchive("archive.7z"))
{
archive.ExtractToDirectory("C:\extracted");
}
Remarks
Als de directory niet bestaat, wordt deze gemaakt.
Als de bestandnamen worden versleuteld, geeft u het wachtwoord in Aspose.Zip.Seven ZipArchive.#ctor(System.String,Systems. String) of __ WL51.Zop.sevenZips.
Exceptions
destinationDirectory’ is null.
De aangegeven pad, bestandnaam of beide overschrijden de door het systeem gedefinieerde maximale lengte. Bijvoorbeeld, op Windows-gebaseerde platforms moeten paden minder dan 248 tekens en bestandnamen moeten minder dan 260 tekens zijn.
De oproepgever heeft niet de vereiste toestemming om toegang te krijgen tot de bestaande directory.
Als de directory niet bestaat, bevat de route een colon karakter (:) dat niet deel uitmaakt van een drive label (“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 (:).
De door de route aangegeven directory is een bestand. -or- De netwerknaam is niet bekend.
Het archief is corrupt.
Save(Stream)
Save 7z archief naar de geleverde stroom.
public void Save(Stream output)
Parameters
output
Stream
De bestemming stroom.
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
Het moet zoektbaar zijn.
Exceptions
output’ does not support seeking.
output’ is null.
De encoder heeft de gegevens niet gecomprimeerd.
Save(String)
Speel archief op een bestand van bestemming.
public void Save(string destinationFileName)
Parameters
destinationFileName
string
De route van het archief om te worden gecreëerd.Als de aangegeven bestandnaam wijst op een bestaande bestand, wordt het overgeschreven.
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
Het is mogelijk om een archief op te slaan op dezelfde route als het is geladen van. echter, dit is niet aanbevolen omdat deze benadering gebruikt het kopiëren naar een tijdelijke bestand.
Exceptions
destinationFileName’ is null.
De oproepgever heeft niet de vereiste toestemming om toegang te krijgen.
De destinationFileName’ is leeg, bevat alleen witte ruimtes of bevat invalide tekens.
De toegang tot het bestand destinationFileName’ wordt geweigerd.
De aangegeven destinationFileName’, bestandsnaam, of beide overschrijden de door het systeem gedefinieerde maximale lengte. Bijvoorbeeld, op Windows-gebaseerde platforms, moeten paden minder dan 248 tekens zijn, en bestandsnamen moeten minder dan 260 tekens zijn.
Het bestand bij destinationFileName’ bevat een kolom (:) in het midden van de string.
SaveSplit(String, SplitSevenZipArchiveSaveOptions)
Bespaart het multi-volume archief naar het bestemmingsdirector dat is verstrekt.
public void SaveSplit(string destinationDirectory, SplitSevenZipArchiveSaveOptions options)
Parameters
destinationDirectory
string
De route naar de directory waar archiefsegmenten moeten worden gecreëerd.
options
SplitSevenZipArchiveSaveOptions
Opties voor het opslaan van bestanden, met inbegrip van bestandnaam.
Examples
using (SevenZipArchive archive = new SevenZipArchive())
{
archive.CreateEntry("entry.bin", "data.bin");
archive.SaveSplit(@"C:\Folder", new SplitSevenZipArchiveSaveOptions("volume", 65536));
}
Remarks
Deze methode bestaat uit verschillende () bestanden filename.7z.001, filename.7z.002, …, filename.7z.(n).
Het is niet mogelijk om bestaande archief multi-volume te maken.
Exceptions
Dit archief is vanaf de bestaande bron geopend.
destinationDirectory’ is null.
De oproeker heeft niet de vereiste toestemming om toegang te krijgen tot de directory.
destinationDirectory’ contains invalid characters such as “, >, <, or |.
De aangegeven route overschrijdt de door het systeem gedefinieerde maximale lengte.