Archive.Archive
Archive(ArchiveEntrySettings)
Inicializa una nueva instancia delArchive
clase con configuraciones opcionales para sus entradas.
public Archive(ArchiveEntrySettings newEntrySettings = null)
Parámetro | Escribe | Descripción |
---|---|---|
newEntrySettings | ArchiveEntrySettings | Configuraciones de compresión y encriptación usadas para recién agregadosArchiveEntry items. Si no se especifica, se usará la compresión Deflate sin cifrado más común. |
Ejemplos
El siguiente ejemplo muestra cómo comprimir un solo archivo con la configuración predeterminada.
using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
using (var archive = new Archive())
{
archive.CreateEntry("data.bin", "file.dat");
archive.Save(zipFile);
}
}
Ver también
- class ArchiveEntrySettings
- class Archive
- espacio de nombres Aspose.Zip
- asamblea Aspose.Zip
Archive(Stream, ArchiveLoadOptions, ArchiveEntrySettings)
Inicializa una nueva instancia delArchive
La lista de entradas de clases y composiciones se puede extraer del archivo.
public Archive(Stream sourceStream, ArchiveLoadOptions loadOptions = null,
ArchiveEntrySettings newEntrySettings = null)
Parámetro | Escribe | Descripción |
---|---|---|
sourceStream | Stream | La fuente del archivo. |
loadOptions | ArchiveLoadOptions | Opciones para cargar el archivo existente. |
newEntrySettings | ArchiveEntrySettings | Configuraciones de compresión y encriptación usadas para recién agregadosArchiveEntry items. Si no se especifica, se usará la compresión Deflate sin cifrado más común. |
Excepciones
excepción | condición |
---|---|
ArgumentException | sourceStream no es buscable. |
InvalidDataException | El encabezado de cifrado para AES contradice el método de compresión de WinZip. |
Observaciones
Este constructor no descomprime ninguna entrada. VerOpen
método para descomprimir.
Ejemplos
El siguiente ejemplo extrae un archivo cifrado, luego descomprime la primera entrada a unFlujo de memoria
.
var fs = File.OpenRead("encrypted.zip");
var extracted = new MemoryStream();
using (Archive archive = new Archive(fs, new ArchiveLoadOptions() { DecryptionPassword = "p@s$" }))
{
using (var decompressed = archive.Entries[0].Open())
{
byte[] b = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(b, 0, b.Length)))
extracted.Write(b, 0, bytesRead);
}
}
Ver también
- class ArchiveLoadOptions
- class ArchiveEntrySettings
- class Archive
- espacio de nombres Aspose.Zip
- asamblea Aspose.Zip
Archive(string, ArchiveLoadOptions, ArchiveEntrySettings)
Inicializa una nueva instancia delArchive
La lista de entradas de clases y composiciones se puede extraer del archivo.
public Archive(string path, ArchiveLoadOptions loadOptions = null,
ArchiveEntrySettings newEntrySettings = null)
Parámetro | Escribe | Descripción |
---|---|---|
path | String | La ruta completa o relativa al archivo de almacenamiento. |
loadOptions | ArchiveLoadOptions | Opciones para cargar el archivo existente. |
newEntrySettings | ArchiveEntrySettings | Configuraciones de compresión y encriptación usadas para recién agregadosArchiveEntry items. Si no se especifica, se usará la compresión Deflate sin cifrado más común. |
Excepciones
excepción | condición |
---|---|
ArgumentNullException | path es nulo. |
SecurityException | La persona que llama no tiene el permiso necesario para acceder. |
ArgumentException | Elpath está vacío, solo contiene espacios en blanco o contiene caracteres no válidos. |
UnauthorizedAccessException | Acceso al archivopath es denegado. |
PathTooLongException | El especificadopath, nombre de archivo, o ambos superan la longitud máxima definida por el sistema. Por ejemplo, en plataformas basadas en Windows, las rutas deben tener menos de 248 caracteres y los nombres de archivo deben tener menos de 260 caracteres. |
NotSupportedException | Archivo enpath contiene dos puntos (:) en medio de la cadena. |
Observaciones
Este constructor no descomprime ninguna entrada. VerOpen
método para descomprimir.
Ejemplos
El siguiente ejemplo extrae un archivo cifrado, luego descomprime la primera entrada a unFlujo de memoria
.
var extracted = new MemoryStream();
using (Archive archive = new Archive("encrypted.zip", new ArchiveLoadOptions() { DecryptionPassword = "p@s$" }))
{
using (var decompressed = archive.Entries[0].Open())
{
byte[] b = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(b, 0, b.Length)))
extracted.Write(b, 0, bytesRead);
}
}
Ver también
- class ArchiveLoadOptions
- class ArchiveEntrySettings
- class Archive
- espacio de nombres Aspose.Zip
- asamblea Aspose.Zip