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
Implements
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
sourceStream’ is not seekable.
sourceStream’ is null.
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
path’ is null.
Den pågældende har ikke den nødvendige tilladelse til at få adgang.
code class=“paramref”>path’ er tom, indeholder kun hvide rum, eller indeholder ulovlige tegn.
Tilgang til filen path’ er nægtet.
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.
Filen på path’ indeholder en kolonne (:) i midten af ringen.
Filen er ikke fundet.
Den angivne rute er ugyldig, f.eks. på en ubemappet drive.
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
parts’ is null.
parts’ has no entries.
Den pågældende har ikke den nødvendige tilladelse til at få adgang.
Vejen til en fil er tom, indeholder kun hvide rum, eller indeholder invalide tegn.
Tilgang til en fil er nægtet.
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.
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
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
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
Vejen til direktory’ er ugyldig, f.eks. at være på en ubemappet disk.
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
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
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
fileInfo’ is read-only or is a directory.
Den angivne rute er ugyldig, f.eks. på en ubemappet drive.
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
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
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
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
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
path’ is null.
Den pågældende har ikke den nødvendige tilladelse til at få adgang.
code class=“paramref”>path’ er tom, indeholder kun hvide rum, eller indeholder ulovlige tegn.
Tilgang til filen path’ er nægtet.
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.
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
destinationDirectory’ is null.
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.
Opkalderen har ikke den nødvendige tilladelse til at få adgang til den eksisterende katalog.
Hvis direktoriet ikke eksisterer, indeholder vejen en kolon karakter (:) som ikke er en del af et diskmærke (“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, der er angivet af vejen, er en fil. -eller- Netværksnavnet er ikke kendt.
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
output’ does not support seeking.
output’ is null.
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
destinationFileName’ is null.
Den pågældende har ikke den nødvendige tilladelse til at få adgang.
Den destinationFileName’ er tom, indeholder kun hvide rum, eller indeholder ugyldige tegn.
Tilgang til filen destinationFileName’ er nægtet.
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.
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
Dette arkiv blev åbnet fra den eksisterende kilde.
destinationDirectory’ is null.
Den pågældende har ikke den nødvendige tilladelse til at få adgang til katalogen.
destinationDirectory’ contains invalid characters such as “, >, <, or |.
Den angivne vej overstiger den systemdefinerede maksimale længde.