Class SevenZipArchive

Class SevenZipArchive

Navne til: Aspose.Zip.SevenZip Sammensætning: Aspose.Zip.dll (25.5.0)

Denne klasse repræsenterer 7z arkivfil. Brug det til at komponere og udveksle 7z arkiver.

public class SevenZipArchive : IArchive, IDisposable

Inheritance

object SevenZipArchive

Implements

IArchive , IDisposable

De arvede medlemmer

object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()

Constructors

SevenZipArchive(SevenZipEntrySettings)

Initialiserer en ny instans af Aspose.Zip.SevenZip.SevenZipArchive klasse med valgfrie indstillinger for dens indtægter.

public SevenZipArchive(SevenZipEntrySettings newEntrySettings = null)

Parameters

newEntrySettings SevenZipEntrySettings

Kompression og kryptering indstillinger bruges til nyligt tilføjet Aspose.Zip.SevenZip.SevenZipArchiveEntry elementer.Hvis ikke angivet, vil LZMA kompression uden kryptering blive brugt.

Examples

Følgende eksempel viser, hvordan man komprimerer en enkelt fil med standardindstillinger: LZMA kompression uden 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)

Initialiserer en ny instans af Aspose.Zip.SevenZip.SevenZipArchive klasse og komponerer en indgangsliste, der kan udvundes fra arkivet.

public SevenZipArchive(Stream sourceStream, string password = null)

Parameters

sourceStream Stream

kilden til arkivet.

password string

Optional adgangskode til dekryptering. Hvis filnavn er krypteret, skal den være til stede.

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) metode til dekomprimering.

Exceptions

ArgumentException

sourceStream’ is not seekable.

ArgumentNullException

sourceStream’ is null.

NotImplementedException

Arkiverne indeholder mere end en koder. nu kun LZMA kompression understøttes.

SevenZipArchive(String og String)

Initialiserer en ny instans af Aspose.Zip.SevenZip.SevenZipArchive klasse og komponerer en indgangsliste, der kan udvundes fra arkivet.

public SevenZipArchive(string path, string password = null)

Parameters

path string

Den fuldt kvalificerede eller den relative vej til arkiveret.

password string

Optional adgangskode til dekryptering. Hvis filnavn er krypteret, skal den være til stede.

Examples

using (SevenZipArchive archive = new SevenZipArchive("archive.7z"))
{
    archive.ExtractToDirectory("C:\\extracted");
}

Remarks

Se Aspose.Zip.SevenZip.SevenZipArchive.ExtractToDirectory(System.String,System.String) metode til dekomprimering.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Den pågældende har ikke den nødvendige tilladelse til at få adgang.

ArgumentException

code class=“paramref”>path’ er tom, indeholder kun hvide rum, eller indeholder ulovlige tegn.

UnauthorizedAccessException

Tilgang til filen path’ er nægtet.

PathTooLongException

Den angivne path’, filnavn, eller begge overstiger den systemdefinerede maksimale længde. For eksempel på Windows-baserede platforme skal veje være mindre end 248 tegn, og filnavn skal være mindre end 260 tegn.

NotSupportedException

Filen på path’ indeholder en kolonne (:) i midten af ringen.

FileNotFoundException

Filen er ikke fundet.

DirectoryNotFoundException

Den angivne rute er ugyldig, f.eks. på en ubemappet drive.

IOException

Filen er allerede åben.

SevenZipArchive(String[], og string)

Initialiserer en ny instans af Aspose.Zip.SevenZip.SevenZipArchive klasse fra multi-volume 7z arkiv og komponerer en indgangsliste, der kan udvundes fra arkivet.

public SevenZipArchive(string[] parts, string password = null)

Parameters

parts string []

Vejer til hvert segment af multi-volum 7z arkiv overholdelse af ordre

password string

Optional adgangskode til dekryptering. Hvis filnavn er krypteret, skal den være til stede.

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

Den pågældende har ikke den nødvendige tilladelse til at få adgang.

ArgumentException

Vejen til en fil er tom, indeholder kun hvide rum, eller indeholder invalide tegn.

UnauthorizedAccessException

Tilgang til en fil er nægtet.

PathTooLongException

Den angivne vej til en del, filnavn, eller begge overstiger den systemdefinerede maksimale længde. For eksempel på Windows-baserede platforme skal vejene være mindre end 248 tegn, og filnavn skal være mindre end 260 tegn.

NotSupportedException

Fil på en vej indeholder en kolonne (:) i midten af ringen.

Properties

Entries

Få indtægter af Aspose.Zip.SevenZip.SevenZipArchiveEntry type, der udgør arkivet.

public ReadOnlyCollection<sevenziparchiveentry> Entries { get; }

Ejendomsværdi

ReadOnlyCollection < SevenZipArchiveEntry >

NewEntrySettings

Kompression og kryptering indstillinger bruges til nyligt tilføjet Aspose.Zip.SevenZip.SevenZipArchiveEntry elementer.

public SevenZipEntrySettings NewEntrySettings { get; }

Ejendomsværdi

SevenZipEntrySettings

Methods

CreateEntries(Anmeldelse: Bool)

Adder til arkivet alle filer og kataloger tilbagevendende i den angivne katalog.

public SevenZipArchive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true)

Parameters

directory DirectoryInfo

Direktorer til komprimering.

includeRootDirectory bool

Indikerer, om man skal inkludere selve roddokumentet eller ej.

Returns

SevenZipArchive

arkiver med indtægter sammensat.

Examples

using (SevenZipArchive archive = new SevenZipArchive())
{
    DirectoryInfo folder = new DirectoryInfo("C:\folder");
    archive.CreateEntries(folder);
    archive.Save("folder.7z");
}

Exceptions

DirectoryNotFoundException

Vejen til direktory’ er ugyldig, f.eks. at være på en ubemappet disk.

SecurityException

Ringeren har ikke den nødvendige tilladelse til at få adgang til direktory'.

CreateEntries(String og Bool)

Adder til arkivet alle filer og kataloger tilbagevendende i den angivne katalog.

public SevenZipArchive CreateEntries(string sourceDirectory, bool includeRootDirectory = true)

Parameters

sourceDirectory string

Direktorer til komprimering.

includeRootDirectory bool

Indikerer, om man skal inkludere selve roddokumentet eller ej.

Returns

SevenZipArchive

arkiver med indtægter sammensat.

Examples

Komposition 7z arkiv med LZMA2 kompression.

using (SevenZipArchive archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMACompressionSettings())))
{
    archive.CreateEntries("C:\folder");
    archive.Save("folder.7z");
}

CreateEntry(string, FileInfo, bool, SevenZipEntrySettings)

Skab en enkelt indgang i arkivet.

public SevenZipArchiveEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false, SevenZipEntrySettings newEntrySettings = null)

Parameters

name string

Navnet på indgangen.

fileInfo FileInfo

Metadata af filen skal komprimeres.

openImmediately bool

Sannelig, hvis du åbner filen umiddelbart, ellers åbner du filen på arkivering.

newEntrySettings SevenZipEntrySettings

Kompression og kryptering indstillinger bruges til at tilføje Aspose.Zip.SevenZip.SevenZipArchiveEntry element.

Returns

SevenZipArchiveEntry

7 Zip indtægtsinstanser.

Examples

Sæt arkiver med indtægter krypteret med forskellige adgangskoder hver.

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

Indtægtsnavnet er kun indstillet inden for parameter. filnavnet angivet i parameter påvirker ikke indtægtsnavnet.

Hvis filen åbnes umiddelbart med parameteren, blokeres den, indtil arkivet er gemt.

Exceptions

UnauthorizedAccessException

fileInfo’ is read-only or is a directory.

DirectoryNotFoundException

Den angivne rute er ugyldig, f.eks. på en ubemappet drive.

IOException

Filen er allerede åben.

CreateEntry(string, Stream, SevenZipEntrySettings, FileSystemInfo)

Skab en enkelt indgang i arkivet.

public SevenZipArchiveEntry CreateEntry(string name, Stream source, SevenZipEntrySettings newEntrySettings, FileSystemInfo fileInfo)

Parameters

name string

Navnet på indgangen.

source Stream

Indtægtsstrøm for indtægten.

newEntrySettings SevenZipEntrySettings

Kompression og kryptering indstillinger bruges til at tilføje Aspose.Zip.SevenZip.SevenZipArchiveEntry element.

fileInfo FileSystemInfo

Metadata af filen eller mappen skal komprimeres.

Returns

SevenZipArchiveEntry

SevenZip indrejse instans.

Examples

Komprimer arkiver med LZMA2 komprimeret krypteret indtægter.

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

Indtægtsnavnet er kun indstillet inden for parameter. filnavnet angivet i parameter påvirker ikke indtægtsnavnet.

kan henvise til System.IO.DirectoryInfo, hvis indtægten er katalog.

Exceptions

InvalidOperationException

Både source’ og fileInfo’ er null eller source’ er null og fileInfo’ står for katalog.

CreateEntry(Strøm, Strøm, SevenZipEntrySettings)

Skab en enkelt indgang i arkivet.

public SevenZipArchiveEntry CreateEntry(string name, Stream source, SevenZipEntrySettings newEntrySettings = null)

Parameters

name string

Navnet på indgangen.

source Stream

Indtægtsstrøm for indtægten.

newEntrySettings SevenZipEntrySettings

Kompression og kryptering indstillinger bruges til at tilføje Aspose.Zip.SevenZip.SevenZipArchiveEntry element.

Returns

SevenZipArchiveEntry

Zip indtægtsinstans.

Examples

Komprimere 7z arkiv med LZMA2 kompression og kryptering af alle indtægter.

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)

Skab en enkelt indgang i arkivet.

public SevenZipArchiveEntry CreateEntry(string name, string path, bool openImmediately = false, SevenZipEntrySettings newEntrySettings = null)

Parameters

name string

Navnet på indgangen.

path string

Den fuldt kvalificerede filnavne eller den relative filnavne, der skal komprimeres.

openImmediately bool

Sannelig, hvis du åbner filen umiddelbart, ellers åbner du filen på arkivering.

newEntrySettings SevenZipEntrySettings

Kompression og kryptering indstillinger bruges til at tilføje Aspose.Zip.SevenZip.SevenZipArchiveEntry element.

Returns

SevenZipArchiveEntry

Zip indtægtsinstans.

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

Indtægtsnavnet er kun indstillet inden for parameter. filnavnet angivet i parameter påvirker ikke indtægtsnavnet.

Hvis filen åbnes umiddelbart med parameteren, blokeres den, indtil arkivet er gemt.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Den pågældende har ikke den nødvendige tilladelse til at få adgang.

ArgumentException

code class=“paramref”>path’ er tom, indeholder kun hvide rum, eller indeholder ulovlige tegn.

UnauthorizedAccessException

Tilgang til filen path’ er nægtet.

PathTooLongException

Den angivne path’, filnavn, eller begge overstiger den systemdefinerede maksimale længde. For eksempel på Windows-baserede platforme skal veje være mindre end 248 tegn, og filnavn skal være mindre end 260 tegn.

NotSupportedException

Filen på path’ indeholder en kolonne (:) i midten af ringen.

Dispose()

Udfører applikationsdefinerede opgaver, der er forbundet med frigivelse, frigivelse eller genoprettelse af uadministrerede ressourcer.

public void Dispose()

Dispose(Bool)

Udfører applikationsdefinerede opgaver, der er forbundet med frigivelse, frigivelse eller genoprettelse af uadministrerede ressourcer.

protected virtual void Dispose(bool disposing)

Parameters

disposing bool

Om de forvaltede ressourcer skal fjernes.

ExtractToDirectory(String og String)

Udveksler alle filer i arkivet til den leverede katalog.

public void ExtractToDirectory(string destinationDirectory, string password = null)

Parameters

destinationDirectory string

Vejen til katalogen til at placere de udvundne filer i.

password string

Optional adgangskode til indhold dekryptering.

Examples

using (var archive = new SevenZipArchive("archive.7z")) 
{ 
   archive.ExtractToDirectory("C:\extracted");
}

Remarks

Hvis katalogen ikke eksisterer, vil den blive oprettet.

Hvis filnavnene er krypteret, skal du give adgangskoden i Aspose.Zip.Seven ZipArchive.#ctor(System.String,Systems. String) eller _ www.Wl51_.zips.seven ZIP. #ctors (Ssystem.IO.Stream.

Exceptions

ArgumentNullException

destinationDirectory’ is null.

PathTooLongException

Den angivne rute, filnavn eller begge overstiger den systemdefinerede maksimale længde. For eksempel på Windows-baserede platforme skal ruter være mindre end 248 tegn og filnavn skal være mindre end 260 tegn.

SecurityException

Opkalderen har ikke den nødvendige tilladelse til at få adgang til den eksisterende katalog.

NotSupportedException

Hvis direktoriet ikke eksisterer, indeholder vejen en kolon karakter (:) som ikke er en del af et diskmærke (“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, der er angivet af vejen, er en fil. -eller- Netværksnavnet er ikke kendt.

InvalidDataException

Arkiverne er korrupte.

Save(Stream)

Sparer 7z arkiver til den leverede strøm.

public void Save(Stream output)

Parameters

output Stream

Destinationstrøm.

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åske skal det søges.

Exceptions

ArgumentException

output’ does not support seeking.

ArgumentNullException

output’ is null.

InvalidOperationException

Koderen komprimerede ikke data.

Save(String)

Sparer arkiver til en bestemmelsesfil, der er leveret.

public void Save(string destinationFileName)

Parameters

destinationFileName string

Hvis den angivne filnavne angiver en eksisterende fil, vil den blive oversat.

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 er muligt at gemme et arkiv på samme vej, som det blev lastet fra. dog anbefales dette ikke, fordi denne tilgang bruger kopiering til en midlertidig fil.

Exceptions

ArgumentNullException

destinationFileName’ is null.

SecurityException

Den pågældende har ikke den nødvendige tilladelse til at få adgang.

ArgumentException

Den destinationFileName’ er tom, indeholder kun hvide rum, eller indeholder ugyldige tegn.

UnauthorizedAccessException

Tilgang til filen destinationFileName’ er nægtet.

PathTooLongException

Den angivne destinationFileName’, filnavn, eller begge overskrider systemdefinerede maksimale længde. For eksempel på Windows-baserede platforme skal veje være mindre end 248 tegn, og filnavn skal være mindre end 260 tegn.

NotSupportedException

Fil på destinationFileName’ indeholder en kolonne (:) i midten af ringen.

SaveSplit(String, SplitSevenZipArchiveSaveOptions)

Sparer multi-volume-arkiv til den leverede destinationsdialog.

public void SaveSplit(string destinationDirectory, SplitSevenZipArchiveSaveOptions options)

Parameters

destinationDirectory string

Vejen til katalogen, hvor arkivsegmenter skal oprettes.

options SplitSevenZipArchiveSaveOptions

Alternativer til arkivbeskyttelse, herunder filnavne.

Examples

using (SevenZipArchive archive = new SevenZipArchive())
{
    archive.CreateEntry("entry.bin", "data.bin");
    archive.SaveSplit(@"C:\Folder",  new SplitSevenZipArchiveSaveOptions("volume", 65536));
}

Remarks

Denne metode består af flere () filer filename.7z.001, filename.7z.002, …, filename.7z.(n).

Det er ikke muligt at lave eksisterende arkiver multi-volum.

Exceptions

InvalidOperationException

Dette arkiv blev åbnet fra den eksisterende kilde.

ArgumentNullException

destinationDirectory’ is null.

SecurityException

Den pågældende har ikke den nødvendige tilladelse til at få adgang til katalogen.

ArgumentException

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

PathTooLongException

Den angivne vej overstiger den systemdefinerede maksimale længde.

 Dansk