Class SevenZipArchive
Nom dels espais: Aspose.Zip.SevenZip Assemblea: Aspose.Zip.dll (25.5.0)
Aquesta classe representa el fitxer d’arxiu 7z. Utilitzeu-lo per compondre i extreure arxius 7z.
public class SevenZipArchive : IArchive, IDisposable
Inheritance
Implements
Membres heretats
object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Constructors
SevenZipArchive(SevenZipEntrySettings)
Inicialitza una nova instància de la classe Aspose.Zip.SevenZip.SevenZipArchive amb configuracions opcionals per a les seves entrades.
public SevenZipArchive(SevenZipEntrySettings newEntrySettings = null)
Parameters
newEntrySettings
SevenZipEntrySettings
Configuracions de compressió i xifra utilitzades per a nous elements afegits Aspose.Zip.SevenZip.SevenZipArchiveEntry.Si no s’especifiqui, s’utilitzaria la compressió LZMA sense xifraci.
Examples
L’exemple següent mostra com comprimir un sol arxiu amb les configuracions predefinides: Comprimir LZMA sense xifració.
using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
using (var archive = new SevenZipArchive())
{
archive.CreateEntry("data.bin", "file.dat");
archive.Save(sevenZipFile);
}
}
SevenZipArchive(Tàrrega, Tàrrega)
Inicialitza una nova instància de la classe Aspose.Zip.SevenZip.SevenZipArchive i componeix una llista d’entrada que es pot treure de l’arxiu.
public SevenZipArchive(Stream sourceStream, string password = null)
Parameters
sourceStream
Stream
La font de l’arxiu.
password
string
Password opcional per a la descriptura. Si els noms de fitxers són encriptats, ha de ser present.
Examples
using (SevenZipArchive archive = new SevenZipArchive(File.OpenRead("archive.7z")))
{
archive.ExtractToDirectory("C:\\extracted");
}
Remarks
Aquest constructor no descomprimeix cap entrada. Veure Aspose.Zip.SevenZip.SevenZipArchive.ExtractToDirectory(System.String,System.String) mètode per descomprimir.
Exceptions
sourceStream’ is not seekable.
sourceStream’ is null.
L’arxiu conté més d’un codificador. ara només es dóna suport a la compressió LZMA.
SevenZipArchive(Tècnic, Tècnic)
Inicialitza una nova instància de la classe Aspose.Zip.SevenZip.SevenZipArchive i componeix una llista d’entrada que es pot treure de l’arxiu.
public SevenZipArchive(string path, string password = null)
Parameters
path
string
El completament qualificat o el camí relatiu a l’arxiu.
password
string
Password opcional per a la descriptura. Si els noms de fitxers són encriptats, ha de ser present.
Examples
using (SevenZipArchive archive = new SevenZipArchive("archive.7z"))
{
archive.ExtractToDirectory("C:\\extracted");
}
Remarks
Aquest constructor no descomprimeix cap entrada. Veure Aspose.Zip.SevenZip.SevenZipArchive.ExtractToDirectory(System.String,System.String) mètode per descomprimir.
Exceptions
path’ is null.
El client no té el permís d’accés requerit.
La path’ és buida, només conté espais blancs, o conté caràcters invalidats.
L’accés al fitxer path" es nega.
El nom de fitxer especificat path", o tots dos superen la longitud màxima definida pel sistema. per exemple, en les plataformes basades en Windows, els passos han de ser menys de 248 caràcters, i els noms de fitxer han de ser menys de 260 caràcters.
El fitxer a path’ conté una columna (:) al mig de la cadena.
El fitxer no es troba.
La ruta especificada és invalidada, com per exemple estar en un disc no mapat.
El fitxer ja està obert.
SevenZipArchive(Tàrrega[], El string)
Inicialitza una nova instància de la classe Aspose.Zip.SevenZip.SevenZipArchive des de l’arxiu multi-volum 7z i componeix una llista d’entrada que es pot extreure de l’arxiu.
public SevenZipArchive(string[] parts, string password = null)
Parameters
parts
string
[]
Passos a cada segment d’arxiu multi-volum 7z respecte a l’ordre
password
string
Password opcional per a la descriptura. Si els noms de fitxers són encriptats, ha de ser present.
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.
El client no té el permís d’accés requerit.
El camí a un arxiu és buit, només conté espais blancs, o conté caràcters invalidats.
L’accés a un fitxer es nega.
Per exemple, en les plataformes basades en Windows, els camins han de ser menys de 248 caràcters, i els noms de fitxer han de ser menys de 260 caràcters.
El fitxer d’un camí conté una columna (:) al mig de la cadena.
Properties
Entries
Obté entrades del tipus Aspose.Zip.SevenZip.SevenZipArchiveEntry que constitueix l’arxiu.
public ReadOnlyCollection<sevenziparchiveentry> Entries { get; }
Valor de la propietat
ReadOnlyCollection < SevenZipArchiveEntry >
NewEntrySettings
Configuracions de compressió i xifra utilitzades per a nous elements afegits Aspose.Zip.SevenZip.SevenZipArchiveEntry.
public SevenZipEntrySettings NewEntrySettings { get; }
Valor de la propietat
Methods
CreateEntries(DireccióInfo, Bool)
Afegeix a l’arxiu tots els arxius i directoris recursivament en el directori donat.
public SevenZipArchive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true)
Parameters
directory
DirectoryInfo
Direcció per a la compressi.
includeRootDirectory
bool
Indica si incloure o no la pròpia direcció de les arrels.
Returns
L’arxiu amb entrades compostes.
Examples
using (SevenZipArchive archive = new SevenZipArchive())
{
DirectoryInfo folder = new DirectoryInfo("C:\folder");
archive.CreateEntries(folder);
archive.Save("folder.7z");
}
Exceptions
El camí a la direcció directory’ és invalid, com per exemple estar en un disc no mapat.
El convocador no té el permís requerit per accedir a la direcció directory'.
CreateEntries(Tàrrega, Bool)
Afegeix a l’arxiu tots els arxius i directoris recursivament en el directori donat.
public SevenZipArchive CreateEntries(string sourceDirectory, bool includeRootDirectory = true)
Parameters
sourceDirectory
string
Direcció per a la compressi.
includeRootDirectory
bool
Indica si incloure o no la pròpia direcció de les arrels.
Returns
L’arxiu amb entrades compostes.
Examples
Composició de l’arxiu 7z amb la compressió LZMA2.
using (SevenZipArchive archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMACompressionSettings())))
{
archive.CreateEntries("C:\folder");
archive.Save("folder.7z");
}
CreateEntry(Arxiu, FileInfo, Bool, SevenZipEntrySettings)
Crear una entrada única dins de l’arxiu.
public SevenZipArchiveEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false, SevenZipEntrySettings newEntrySettings = null)
Parameters
name
string
El nom de l’entrada.
fileInfo
FileInfo
Els metadats del fitxer s’han de compressar.
openImmediately
bool
s cert, si obre el fitxer immediatament, d’altra banda obre el fitxer en l’arxiu d’emmagatzematge.
newEntrySettings
SevenZipEntrySettings
Configuracions de compressió i xifra utilitzades per afegir el element Aspose.Zip.SevenZip.SevenZipArchiveEntry.
Returns
Set tipus d’entrada Zip.
Examples
Composa l’arxiu amb entrades encriptades amb diferents contrasenyes cadascuna.
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
El nom d’entrada s’estableix únicament dins del paràmetre.El nom de fitxer proporcionat en el paràmetre no afecta el nom d’entrada.
Si el fitxer s’obre immediatament amb el paràmetre es bloqueja fins que l’arxiu es salva.
Exceptions
fileInfo’ is read-only or is a directory.
La ruta especificada és invalidada, com per exemple estar en un disc no mapat.
El fitxer ja està obert.
CreateEntry(string, Stream, SevenZipEntrySettings, FileSystemInfo)
Crear una entrada única dins de l’arxiu.
public SevenZipArchiveEntry CreateEntry(string name, Stream source, SevenZipEntrySettings newEntrySettings, FileSystemInfo fileInfo)
Parameters
name
string
El nom de l’entrada.
source
Stream
El flux d’entrada per a l’entrada.
newEntrySettings
SevenZipEntrySettings
Configuracions de compressió i xifra utilitzades per afegir el element Aspose.Zip.SevenZip.SevenZipArchiveEntry.
fileInfo
FileSystemInfo
Els metadats del fitxer o de la carpeta per a ser comprès.
Returns
Set Zip entrada de l’instància.
Examples
Composar l’arxiu amb l’entrada encripta compresada LZMA2.
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
El nom d’entrada s’estableix únicament dins del paràmetre.El nom de fitxer proporcionat en el paràmetre no afecta el nom d’entrada.
pot referir-se a System.IO.DirectoryInfo si la entrada és directori.
Exceptions
Tothom source’ i
fileInfo’ són null o
source’ és null i
fileInfo’ és per a la direcci.
CreateEntry(Llistat, Llistat, SevenZipEntrySettings)
Crear una entrada única dins de l’arxiu.
public SevenZipArchiveEntry CreateEntry(string name, Stream source, SevenZipEntrySettings newEntrySettings = null)
Parameters
name
string
El nom de l’entrada.
source
Stream
El flux d’entrada per a l’entrada.
newEntrySettings
SevenZipEntrySettings
Configuracions de compressió i xifra utilitzades per afegir el element Aspose.Zip.SevenZip.SevenZipArchiveEntry.
Returns
Instància d’entrada ZIP.
Examples
Composar l’arxiu 7z amb la compressió LZMA2 i la xifració de totes les entrades.
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, set ZipEntrySettings)
Crear una entrada única dins de l’arxiu.
public SevenZipArchiveEntry CreateEntry(string name, string path, bool openImmediately = false, SevenZipEntrySettings newEntrySettings = null)
Parameters
name
string
El nom de l’entrada.
path
string
El nom completament qualificat del nou fitxer, o el nom de fitxer relatiu a ser comprès.
openImmediately
bool
s cert, si obre el fitxer immediatament, d’altra banda obre el fitxer en l’arxiu d’emmagatzematge.
newEntrySettings
SevenZipEntrySettings
Configuracions de compressió i xifra utilitzades per afegir el element Aspose.Zip.SevenZip.SevenZipArchiveEntry.
Returns
Instància d’entrada ZIP.
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
El nom d’entrada s’estableix únicament dins del paràmetre.El nom de fitxer proporcionat en el paràmetre no afecta el nom d’entrada.
Si el fitxer s’obre immediatament amb el paràmetre es bloqueja fins que l’arxiu es salva.
Exceptions
path’ is null.
El client no té el permís d’accés requerit.
La path’ és buida, només conté espais blancs, o conté caràcters invalidats.
L’accés al fitxer path" es nega.
El nom de fitxer especificat path", o tots dos superen la longitud màxima definida pel sistema. per exemple, en les plataformes basades en Windows, els passos han de ser menys de 248 caràcters, i els noms de fitxer han de ser menys de 260 caràcters.
El fitxer a path’ conté una columna (:) al mig de la cadena.
Dispose()
Realitza tasques definides per aplicació associades amb el lliurament, el lliurament o la restauració de recursos no gestionats.
public void Dispose()
Dispose(La botiga)
Realitza tasques definides per aplicació associades amb el lliurament, el lliurament o la restauració de recursos no gestionats.
protected virtual void Dispose(bool disposing)
Parameters
disposing
bool
S’han de disposar de recursos gestionats.
ExtractToDirectory(Tècnic, Tècnic)
Extrata tots els arxius de l’arxiu a la direcció proporcionada.
public void ExtractToDirectory(string destinationDirectory, string password = null)
Parameters
destinationDirectory
string
El camí a la direcció per col·locar els arxius extraïts.
password
string
Password opcional per a la decrypció de continguts.
Examples
using (var archive = new SevenZipArchive("archive.7z"))
{
archive.ExtractToDirectory("C:\extracted");
}
Remarks
Si la direcció no existeix, es crear.
Si els noms de fitxers són encriptats, proporciona la contrasenya en Aspose.Zip.SevenZop.SevenZupArchive.#ctor(System.String,Systems. String) o __ WL51.ZIP.seven ZipArkive .# ctor (Sistem.IO.Stream,systema.string).
Exceptions
destinationDirectory’ is null.
Per exemple, en les plataformes basades en Windows, els camins han de ser menys de 248 caràcters i els noms de fitxers han de ser menys de 260 caràcters.
El sol·licitant no té l’autorització necessària per accedir a la direcció existent.
Si el directori no existeix, el recorregut conté un caràcter colon (:) que no forma part d’una etiqueta de disc (“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 (:).
El directori especificat per ruta és un arxiu. -o- El nom de la xarxa no és conegut.
L’arxiu està corromput.
Save(Stream)
S’estalvia l’arxiu 7z al flux proporcionat.
public void Save(Stream output)
Parameters
output
Stream
El flux de destinaci.
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
ha de ser buscable.
Exceptions
output’ does not support seeking.
output’ is null.
El codificador no ha comprès les dades.
Save(Tàrrega)
Salva l’arxiu a un arxiu de destinació proporcionat.
public void Save(string destinationFileName)
Parameters
destinationFileName
string
El camí de l’arxiu que s’ha de crear. Si el nom de fitxer especificat indica un fitxer existent, serà sobreescrit.
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
s possible guardar un arxiu al mateix camí que es va carregar des. No obstant això, això no es recomana perquè aquest enfocament utilitza la còpia a un arxiu temporal.
Exceptions
destinationFileName’ is null.
El client no té el permís d’accés requerit.
El destinationFileName’ és buit, només conté espais blancs, o conté caràcters invalidats.
L’accés al fitxer destinationFileName’ és negat.
El nom de fitxer especificat destinationFileName, o ambdós superen la longitud màxima definida pel sistema. Per exemple, en les plataformes basades en Windows, els camins han de ser menys de 248 caràcters, i els noms de fitxer han de ser menys de 260 caràcters.
El fitxer a destinationFileName’ conté una columna (:) al mig de la cadena.
SaveSplit(Llistat, SplitSevenZipArchiveSaveOptions)
Salva l’arxiu multivolum a la direcció de destinació proporcionada.
public void SaveSplit(string destinationDirectory, SplitSevenZipArchiveSaveOptions options)
Parameters
destinationDirectory
string
El camí a la direcció on s’han de crear segments d’arxiu.
options
SplitSevenZipArchiveSaveOptions
Opcions per a l’emmagatzematge d’arxius, inclòs el nom de fitxer.
Examples
using (SevenZipArchive archive = new SevenZipArchive())
{
archive.CreateEntry("entry.bin", "data.bin");
archive.SaveSplit(@"C:\Folder", new SplitSevenZipArchiveSaveOptions("volume", 65536));
}
Remarks
Aquest mètode componeix diversos () arxius filename.7z.001, filename.7z.002, …, filename.7z.(n).
No es pot fer un arxiu existent multi-volum.
Exceptions
Aquest arxiu va ser obert des de la font existent.
destinationDirectory’ is null.
El sol·licitant no té el permís requerit per accedir a la direcci.
destinationDirectory’ contains invalid characters such as “, >, <, or |.
El camí especificat supera la longitud màxima definida pel sistema.