SevenZipArchive.CreateEntry

CreateEntry(string, FileInfo, bool, SevenZipEntrySettings)

Crear entrada única dentro del archivo.

public SevenZipArchiveEntry CreateEntry(string name, FileInfo fileInfo, 
    bool openImmediately = false, SevenZipEntrySettings 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.
newEntrySettingsSevenZipEntrySettingsConfiguraciones de compresión y encriptación usadas para agregarSevenZipArchiveEntry artículo.

Valor_devuelto

Instancia de siete entradas Zip.

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 cifradas con diferentes contraseñas cada una.

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);
    }
}

Ver también


CreateEntry(string, Stream, SevenZipEntrySettings, FileSystemInfo)

Crear entrada única dentro del archivo.

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

Valor_devuelto

Instancia de entrada de SevenZip.

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 comprimida 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);
    }
}

Ver también


CreateEntry(string, Stream, SevenZipEntrySettings)

Crear entrada única dentro del archivo.

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

Valor_devuelto

Instancia de entrada postal.

Ejemplos

Componga un archivo 7z con compresión LZMA2 y encriptación de todas las entradas.

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");
}

Ver también


CreateEntry(string, string, bool, SevenZipEntrySettings)

Crear entrada única dentro del archivo.

public SevenZipArchiveEntry CreateEntry(string name, string path, bool openImmediately = false, 
    SevenZipEntrySettings 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.
newEntrySettingsSevenZipEntrySettingsConfiguraciones de compresión y encriptación usadas para agregarSevenZipArchiveEntry 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 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);
    }
}

Ver también