Class SevenZipArchive

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

object SevenZipArchive

Implements

IArchive , IDisposable

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

ArgumentException

sourceStream’ is not seekable.

ArgumentNullException

sourceStream’ is null.

NotImplementedException

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

ArgumentNullException

path’ is null.

SecurityException

Sökanden har inte behörig tillstånd att komma åt.

ArgumentException

path’ är tom, innehåller endast vita utrymmen, eller innehåller olagliga tecken.

UnauthorizedAccessException

Tillgång till filen path" vägras.

PathTooLongException

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.

NotSupportedException

Filen på path’ innehåller en kolumn (:) i mitten av raden.

FileNotFoundException

Filen hittades inte.

DirectoryNotFoundException

Den angivna vägen är ogiltig, t.ex. att vara på en okartad disk.

IOException

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

ArgumentNullException

parts’ is null.

ArgumentException

parts’ has no entries.

SecurityException

Sökanden har inte behörig tillstånd att komma åt.

ArgumentException

Vägen till en fil är tom, innehåller endast vita utrymmen, eller innehåller olagliga tecken.

UnauthorizedAccessException

Tillgång till en fil är förnekad.

PathTooLongException

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.

NotSupportedException

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

SevenZipEntrySettings

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

SevenZipArchive

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

DirectoryNotFoundException

Vägen till direktory’ är ogiltig, till exempel på en icke-mappad disk.

SecurityException

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

SevenZipArchive

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

SevenZipArchiveEntry

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

UnauthorizedAccessException

fileInfo’ is read-only or is a directory.

DirectoryNotFoundException

Den angivna vägen är ogiltig, t.ex. att vara på en okartad disk.

IOException

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

SevenZipArchiveEntry

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

InvalidOperationException

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

SevenZipArchiveEntry

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

SevenZipArchiveEntry

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

ArgumentNullException

path’ is null.

SecurityException

Sökanden har inte behörig tillstånd att komma åt.

ArgumentException

path’ är tom, innehåller endast vita utrymmen, eller innehåller olagliga tecken.

UnauthorizedAccessException

Tillgång till filen path" vägras.

PathTooLongException

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.

NotSupportedException

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

ArgumentNullException

destinationDirectory’ is null.

PathTooLongException

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.

SecurityException

Sökanden har inte behörig behörighet att få tillgång till det befintliga katalogen.

NotSupportedException

Om katalogen inte existerar, innehåller vägen en kolumnkaraktär (:) som inte är en del av en drivetikett (“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

Den katalog som anges av vägen är en fil. -eller- Nätverksnamnet är inte känt.

InvalidDataException

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

ArgumentException

output’ does not support seeking.

ArgumentNullException

output’ is null.

InvalidOperationException

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

ArgumentNullException

destinationFileName’ is null.

SecurityException

Sökanden har inte behörig tillstånd att komma åt.

ArgumentException

destinationFileName’ är tom, innehåller endast vita utrymmen, eller innehåller ogiltiga tecken.

UnauthorizedAccessException

Tillgång till filen destinationFileName’ vägras.

PathTooLongException

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.

NotSupportedException

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

InvalidOperationException

Detta arkiv har öppnats från den befintliga källan.

ArgumentNullException

destinationDirectory’ is null.

SecurityException

Ringaren har inte tillståndet att få tillgång till katalogen.

ArgumentException

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

PathTooLongException

Den angivna vägen överstiger den systemdefinierade maximala längden.

 Svenska