Class SevenZipArchive
Namn på plats: Aspose.Zip.SevenZip Sammanfattning: Aspose.Zip.dll (25.5.0)
Denna klass representerar 7z arkivfilen. Använd den för att komponera och extrahera 7z arkiv.
public class SevenZipArchive : IArchive, IDisposable
Inheritance
Implements
Arvsmedlemmar
object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Constructors
SevenZipArchive(SevenZipEntrySettings)
Initialiserar en ny instans av Aspose.Zip.SevenZip.SevenZipArchive-klassen med valfria inställningar för dess inmatningar.
public SevenZipArchive(SevenZipEntrySettings newEntrySettings = null)
Parameters
newEntrySettings
SevenZipEntrySettings
Komprimering och kryptering inställningar som används för nyligen tillsatt Aspose.Zip.SevenZip.SevenZipArchiveEntry objekt.Om inte anges, LZMA kompression utan kryptering skulle användas.
Examples
Följande exempel visar hur man komprimerar en enda fil med standardinställningar: LZMA-komprimering utan kryptering.
using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
using (var archive = new SevenZipArchive())
{
archive.CreateEntry("data.bin", "file.dat");
archive.Save(sevenZipFile);
}
}
SevenZipArchive(Ström, ström)
Initialiserar en ny instans av Aspose.Zip.SevenZip.SevenZipArchive-klassen och utgör en inlistan som kan extraheras från arkivet.
public SevenZipArchive(Stream sourceStream, string password = null)
Parameters
sourceStream
Stream
Källan till arkivet.
password
string
Alternativt lösenord för dekryptering. om filnamnen krypteras måste den vara närvarande.
Examples
using (SevenZipArchive archive = new SevenZipArchive(File.OpenRead("archive.7z")))
{
archive.ExtractToDirectory("C:\\extracted");
}
Remarks
Se Aspose.Zip.SevenZip.SevenZipArchive.ExtractToDirectory(System.String,System.String) metod för dekomprimering.
Exceptions
sourceStream’ is not seekable.
sourceStream’ is null.
Arkivet innehåller mer än en kodare. nu stöds endast LZMA-kompression.
SevenZipArchive(String och String)
Initialiserar en ny instans av Aspose.Zip.SevenZip.SevenZipArchive-klassen och utgör en inlistan som kan extraheras från arkivet.
public SevenZipArchive(string path, string password = null)
Parameters
path
string
Den fullt kvalificerade eller den relativa vägen till arkivfilen.
password
string
Alternativt lösenord för dekryptering. om filnamnen krypteras måste den vara närvarande.
Examples
using (SevenZipArchive archive = new SevenZipArchive("archive.7z"))
{
archive.ExtractToDirectory("C:\\extracted");
}
Remarks
Se Aspose.Zip.SevenZip.SevenZipArchive.ExtractToDirectory(System.String,System.String) metod för dekomprimering.
Exceptions
path’ is null.
Sökanden har inte behörig tillstånd att komma åt.
path’ är tom, innehåller endast vita utrymmen, eller innehåller olagliga tecken.
Tillgång till filen path" vägras.
Den angivna path’, filnamn, eller båda överstiger den systemdefinierade maximala längden. Till exempel på Windows-baserade plattformar måste vägar vara mindre än 248 tecken, och filnamn måste vara mindre än 260 tecken.
Filen på path’ innehåller en kolumn (:) i mitten av raden.
Filen hittades inte.
Den angivna vägen är ogiltig, t.ex. att vara på en okartad disk.
Filen är redan öppen.
SevenZipArchive(Sträng[ ], För String)
Initialiserar en ny instans av Aspose.Zip.SevenZip.SevenZipArchive-klassen från multi-volym 7z-arkivet och utgör en inlistan som kan extraheras från arkivet.
public SevenZipArchive(string[] parts, string password = null)
Parameters
parts
string
[ ]
Vägar till varje segment av multi-volym 7z arkiv följer order
password
string
Alternativt lösenord för dekryptering. om filnamnen krypteras måste den vara närvarande.
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.
Sökanden har inte behörig tillstånd att komma åt.
Vägen till en fil är tom, innehåller endast vita utrymmen, eller innehåller olagliga tecken.
Tillgång till en fil är förnekad.
Den angivna vägen till en del, filnamn, eller båda överstiger den systemdefinierade maximala längden. Till exempel på Windows-baserade plattformar måste vägar vara mindre än 248 tecken, och filnamn måste vara mindre än 260 tecken.
Filen på en väg innehåller en kolumn (:) i mitten av strängen.
Properties
Entries
Få inmatningar av Aspose.Zip.SevenZip.SevenZipArchiveEntry typ som utgör arkivet.
public ReadOnlyCollection<sevenziparchiveentry> Entries { get; }
Fastighetsvärde
ReadOnlyCollection ochlt; SevenZipArchiveEntry >
NewEntrySettings
Komprimering och kryptering inställningar som används för nyligen tillsatt Aspose.Zip.SevenZip.SevenZipArchiveEntry objekt.
public SevenZipEntrySettings NewEntrySettings { get; }
Fastighetsvärde
Methods
CreateEntries(Föregående inlägg: Bool)
Lägg till arkivet alla filer och kataloger återkommande i den angivna katalogen.
public SevenZipArchive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true)
Parameters
directory
DirectoryInfo
katalog för komprimering.
includeRootDirectory
bool
Anger om du ska inkludera rötdiagrammet själv eller inte.
Returns
Arkiv med ingångar komposterade.
Examples
using (SevenZipArchive archive = new SevenZipArchive())
{
DirectoryInfo folder = new DirectoryInfo("C:\folder");
archive.CreateEntries(folder);
archive.Save("folder.7z");
}
Exceptions
Vägen till direktory’ är ogiltig, till exempel på en icke-mappad disk.
Ringaren har inte nödvändig tillstånd att komma åt direktory".
CreateEntries(String och bool)
Lägg till arkivet alla filer och kataloger återkommande i den angivna katalogen.
public SevenZipArchive CreateEntries(string sourceDirectory, bool includeRootDirectory = true)
Parameters
sourceDirectory
string
katalog för komprimering.
includeRootDirectory
bool
Anger om du ska inkludera rötdiagrammet själv eller inte.
Returns
Arkiv med ingångar komposterade.
Examples
Komprimera 7z arkiv med LZMA2 komprimering.
using (SevenZipArchive archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMACompressionSettings())))
{
archive.CreateEntries("C:\folder");
archive.Save("folder.7z");
}
CreateEntry(sträng, FileInfo, bool, SevenZipEntrySettings)
Skapa en enda inmatning inom arkivet.
public SevenZipArchiveEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false, SevenZipEntrySettings newEntrySettings = null)
Parameters
name
string
Namnet på ingången.
fileInfo
FileInfo
Metadata av filen ska komprimeras.
openImmediately
bool
Det är sant, om du öppnar filen omedelbart, annars öppnar du filen på arkivspara.
newEntrySettings
SevenZipEntrySettings
Komprimering och kryptering inställningar som används för att lägga till Aspose.Zip.SevenZip.SevenZipArchiveEntry objekt.
Returns
Sju Zip inträdesinstanser.
Examples
Skapa arkiv med inmatningar krypterade med olika lösenord var och en.
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
Innehållsnamnet anges endast inom parameter. filnamnet som anges i parameter påverkar inte innehållsnamnet.
Om filen öppnas omedelbart med parameter blockeras den tills arkivet sparas.
Exceptions
fileInfo’ is read-only or is a directory.
Den angivna vägen är ogiltig, t.ex. att vara på en okartad disk.
Filen är redan öppen.
CreateEntry(sträng, Stream, SevenZipEntrySettings, FileSystemInfo)
Skapa en enda inmatning inom arkivet.
public SevenZipArchiveEntry CreateEntry(string name, Stream source, SevenZipEntrySettings newEntrySettings, FileSystemInfo fileInfo)
Parameters
name
string
Namnet på ingången.
source
Stream
Inträdesflöde för ingången.
newEntrySettings
SevenZipEntrySettings
Komprimering och kryptering inställningar som används för att lägga till Aspose.Zip.SevenZip.SevenZipArchiveEntry objekt.
fileInfo
FileSystemInfo
Metadata av filen eller mappen ska komprimeras.
Returns
SevenZip inträde instans.
Examples
Komprimera arkiv med LZMA2 komprimerad krypterad inmatning.
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
Innehållsnamnet anges endast inom parameter. filnamnet som anges i parameter påverkar inte innehållsnamnet.
kan hänvisa till System.IO.DirectoryInfo om entréen är katalog.
Exceptions
Både source’ och
fileInfo’ är noll eller
source’ är noll och
fileInfo’ står för katalog.
CreateEntry(sträng, ström, SevenZipEntrySettings)
Skapa en enda inmatning inom arkivet.
public SevenZipArchiveEntry CreateEntry(string name, Stream source, SevenZipEntrySettings newEntrySettings = null)
Parameters
name
string
Namnet på ingången.
source
Stream
Inträdesflöde för ingången.
newEntrySettings
SevenZipEntrySettings
Komprimering och kryptering inställningar som används för att lägga till Aspose.Zip.SevenZip.SevenZipArchiveEntry objekt.
Returns
Zip inträde instans.
Examples
Komprimera 7z arkiv med LZMA2 komprimering och kryptering av alla poster.
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(sträng, sträng, bool, SevenZipEntrySettings)
Skapa en enda inmatning inom arkivet.
public SevenZipArchiveEntry CreateEntry(string name, string path, bool openImmediately = false, SevenZipEntrySettings newEntrySettings = null)
Parameters
name
string
Namnet på ingången.
path
string
Den fullt kvalificerade namnet på den nya filen eller den relativa filnamnet som ska komprimeras.
openImmediately
bool
Det är sant, om du öppnar filen omedelbart, annars öppnar du filen på arkivspara.
newEntrySettings
SevenZipEntrySettings
Komprimering och kryptering inställningar som används för att lägga till Aspose.Zip.SevenZip.SevenZipArchiveEntry objekt.
Returns
Zip inträde instans.
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
Innehållsnamnet anges endast inom parameter. filnamnet som anges i parameter påverkar inte innehållsnamnet.
Om filen öppnas omedelbart med parameter blockeras den tills arkivet sparas.
Exceptions
path’ is null.
Sökanden har inte behörig tillstånd att komma åt.
path’ är tom, innehåller endast vita utrymmen, eller innehåller olagliga tecken.
Tillgång till filen path" vägras.
Den angivna path’, filnamn, eller båda överstiger den systemdefinierade maximala längden. Till exempel på Windows-baserade plattformar måste vägar vara mindre än 248 tecken, och filnamn måste vara mindre än 260 tecken.
Filen på path’ innehåller en kolumn (:) i mitten av raden.
Dispose()
Utför tillämpningsdefinierade uppgifter som är förknippade med frigöring, frigöring eller återanvändning av okontrollerade resurser.
public void Dispose()
Dispose(Bool)
Utför tillämpningsdefinierade uppgifter som är förknippade med frigöring, frigöring eller återanvändning av okontrollerade resurser.
protected virtual void Dispose(bool disposing)
Parameters
disposing
bool
Oavsett om de förvaltade resurserna ska utplånas.
ExtractToDirectory(String och String)
Extraherar alla filer i arkivet till den angivna katalogen.
public void ExtractToDirectory(string destinationDirectory, string password = null)
Parameters
destinationDirectory
string
Vägen till katalogen för att placera de extraherade filerna i.
password
string
Alternativt lösenord för innehåll dekryptering.
Examples
using (var archive = new SevenZipArchive("archive.7z"))
{
archive.ExtractToDirectory("C:\extracted");
}
Remarks
Om katalogen inte existerar kommer den att skapas.
Om filnamnen är krypterade, ange lösenordet i Aspose.Zip.SevenZopArchive.#ctor(System.String,Systems. String) eller __ WL51.ZIP.NästaSyper.
Exceptions
destinationDirectory’ is null.
Den angivna vägen, filnamnet eller båda överstiger den systemdefinierade maximala längden. Till exempel på Windows-baserade plattformar måste vägarna vara mindre än 248 tecken och filnamnen måste vara mindre än 260 tecken.
Sökanden har inte behörig behörighet att få tillgång till det befintliga katalogen.
Om katalogen inte existerar, innehåller vägen en kolumnkaraktär (:) som inte är en del av en drivetikett (“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 (:).
Den katalog som anges av vägen är en fil. -eller- Nätverksnamnet är inte känt.
Arkivet är korrupt.
Save(Stream)
Spara 7z arkiv till den tillhandahållna strömmen.
public void Save(Stream output)
Parameters
output
Stream
Destination strömmar.
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
Måste vara sökbar.
Exceptions
output’ does not support seeking.
output’ is null.
Encoder misslyckades med att komprimera data.
Save(Sträng)
Spara arkiv till en avsedd fil som tillhandahålls.
public void Save(string destinationFileName)
Parameters
destinationFileName
string
Om den angivna filnamnet pekar på en befintlig fil, kommer den att översättas.
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
Det är möjligt att spara ett arkiv på samma väg som det laddades från. Detta rekommenderas dock inte eftersom denna metod använder kopiering till en tillfällig fil.
Exceptions
destinationFileName’ is null.
Sökanden har inte behörig tillstånd att komma åt.
destinationFileName’ är tom, innehåller endast vita utrymmen, eller innehåller ogiltiga tecken.
Tillgång till filen destinationFileName’ vägras.
Den angivna destinationFileName’, filnamn, eller båda överstiger den systemdefinierade maximala längden. Till exempel på Windows-baserade plattformar måste vägar vara mindre än 248 tecken och filnamn måste vara mindre än 260 tecken.
Filen i destinationFileName’ innehåller en kolumn (:) i mitten av raden.
SaveSplit(sträng, SplitSevenZipArchiveSaveOptions)
Spara multi-volym arkiv till avsedd katalog.
public void SaveSplit(string destinationDirectory, SplitSevenZipArchiveSaveOptions options)
Parameters
destinationDirectory
string
Vägen till katalogen där arkivsegment ska skapas.
options
SplitSevenZipArchiveSaveOptions
Alternativ för arkiv lagring, inklusive filnamn.
Examples
using (SevenZipArchive archive = new SevenZipArchive())
{
archive.CreateEntry("entry.bin", "data.bin");
archive.SaveSplit(@"C:\Folder", new SplitSevenZipArchiveSaveOptions("volume", 65536));
}
Remarks
Denna metod består av flera () filer filename.7z.001, filename.7z.002, …, filename.7z.(n).
Det går inte att göra befintliga arkiv multi-volym.
Exceptions
Detta arkiv har öppnats från den befintliga källan.
destinationDirectory’ is null.
Ringaren har inte tillståndet att få tillgång till katalogen.
destinationDirectory’ contains invalid characters such as “, >, <, or |.
Den angivna vägen överstiger den systemdefinierade maximala längden.