Archive.CreateEntry

CreateEntry(string, string, bool, ArchiveEntrySettings)

Crear entrada única dentro del archivo.

public ArchiveEntry CreateEntry(string name, string path, bool openImmediately = false, 
    ArchiveEntrySettings newEntrySettings = null)
ParámetroEscribeDescripción
nameStringEl nombre de la entrada.
pathStringEl nombre completo del nuevo archivo o el nombre de archivo relativo que se comprimirá.
openImmediatelyBooleanVerdadero si abre el archivo inmediatamente; de lo contrario, abra el archivo al guardar el archivo.
newEntrySettingsArchiveEntrySettingsConfiguraciones de compresión y encriptación usadas para agregarArchiveEntry artículo.

Valor_devuelto

Instancia de entrada postal.

Excepciones

excepcióncondición
ArgumentNullExceptionpath es nulo.
SecurityExceptionLa persona que llama no tiene el permiso necesario para acceder.
ArgumentExceptionElpath está vacío, solo contiene espacios en blanco o contiene caracteres no válidos.
UnauthorizedAccessExceptionAcceso al archivopath es denegado.
PathTooLongExceptionEl 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.
NotSupportedExceptionArchivo enpath contiene dos puntos (:) en medio de la cadena.

Observaciones

El nombre de la entrada se establece únicamente dentroname parámetro. El nombre del archivo proporcionado enpath El parámetro no afecta el nombre de la entrada.

Si el archivo se abre inmediatamente conopenImmediately parámetro se bloquea hasta que se guarda el archivo.

Ejemplos

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


CreateEntry(string, Stream, ArchiveEntrySettings)

Crear entrada única dentro del archivo.

public ArchiveEntry CreateEntry(string name, Stream source, 
    ArchiveEntrySettings newEntrySettings = null)
ParámetroEscribeDescripción
nameStringEl nombre de la entrada.
sourceStreamEl flujo de entrada para la entrada.
newEntrySettingsArchiveEntrySettingsConfiguraciones de compresión y encriptación usadas para agregarArchiveEntry artículo.

Valor_devuelto

Instancia de entrada postal.

Ejemplos

using (var archive = new Archive(new ArchiveEntrySettings(null, new AesEcryptionSettings("p@s$", EncryptionMethod.AES256))))
{
    archive.CreateEntry("data.bin", new MemoryStream(new byte[] {0x00, 0xFF} ));
    archive.Save("archive.zip");
}

Ver también


CreateEntry(string, FileInfo, bool, ArchiveEntrySettings)

Crear entrada única dentro del archivo.

public ArchiveEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false, 
    ArchiveEntrySettings newEntrySettings = null)
ParámetroEscribeDescripción
nameStringEl nombre de la entrada.
fileInfoFileInfoLos metadatos del archivo que se va a comprimir.
openImmediatelyBooleanVerdadero si abre el archivo inmediatamente; de lo contrario, abra el archivo al guardar el archivo.
newEntrySettingsArchiveEntrySettingsConfiguraciones de compresión y encriptación usadas para agregarArchiveEntry artículo.

Valor_devuelto

Instancia de entrada postal.

Excepciones

excepcióncondición
UnauthorizedAccessExceptionfileInfo es de solo lectura o es un directorio.
DirectoryNotFoundExceptionLa ruta especificada no es válida, como estar en una unidad no asignada.
IOExceptionEl archivo ya está abierto.

Observaciones

El nombre de la entrada se establece únicamente dentroname parámetro. El nombre del archivo proporcionado enfileInfo El parámetro no afecta el nombre de la entrada.

Si el archivo se abre inmediatamente conopenImmediately parámetro se bloquea hasta que se guarda el archivo.

Ejemplos

Componga un archivo con entradas encriptadas con diferentes métodos de encriptación y contraseñas cada una.

using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
    FileInfo fi1 = new FileInfo("data1.bin");
    FileInfo fi2 = new FileInfo("data2.bin");
    FileInfo fi3 = new FileInfo("data3.bin");
    using (var archive = new Archive())
    {
        archive.CreateEntry("entry1.bin", fi1, false, new ArchiveEntrySettings(new DeflateCompressionSettings(), new TraditionalEncryptionSettings("pass1")));
        archive.CreateEntry("entry2.bin", fi2, false, new ArchiveEntrySettings(new DeflateCompressionSettings(), new AesEcryptionSettings("pass2", EncryptionMethod.AES128)));
        archive.CreateEntry("entry3.bin", fi3, false, new ArchiveEntrySettings(new DeflateCompressionSettings(), new AesEcryptionSettings("pass3", EncryptionMethod.AES256)));
        archive.Save(zipFile);
    }
}

Ver también


CreateEntry(string, Stream, ArchiveEntrySettings, FileSystemInfo)

Crear entrada única dentro del archivo.

public ArchiveEntry CreateEntry(string name, Stream source, ArchiveEntrySettings newEntrySettings, 
    FileSystemInfo fileInfo)
ParámetroEscribeDescripción
nameStringEl nombre de la entrada.
sourceStreamEl flujo de entrada para la entrada.
newEntrySettingsArchiveEntrySettingsConfiguraciones de compresión y encriptación usadas para agregarArchiveEntry artículo.
fileInfoFileSystemInfoLos metadatos del archivo o carpeta a comprimir.

Valor_devuelto

Instancia de entrada postal.

Excepciones

excepcióncondición
InvalidOperationExceptionAmbossource yfileInfo son nulos osourcees nulo yfileInfo significa directorio.

Observaciones

El nombre de la entrada se establece únicamente dentroname parámetro. El nombre del archivo proporcionado enfileInfo El parámetro no afecta el nombre de la entrada.

fileInfo puede referirse aDirectoryInfo si la entrada es directorio.

Ejemplos

Componer archivo con entrada cifrada.

using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
    using (var archive = new Archive())
    {
        archive.CreateEntry("entry1.bin", new MemoryStream(new byte[] {0x00, 0xFF} ), new ArchiveEntrySettings(new DeflateCompressionSettings(), new TraditionalEncryptionSettings("pass1")), new FileInfo("data1.bin")); 
        archive.Save(zipFile);
    }
}

Ver también