Archive.CreateEntry

CreateEntry(string, string, bool, ArchiveEntrySettings)

Crea una singola voce all’interno dell’archivio.

public ArchiveEntry CreateEntry(string name, string path, bool openImmediately = false, 
    ArchiveEntrySettings newEntrySettings = null)
ParametroTipoDescrizione
nameStringIl nome della voce.
pathStringIl nome completo del nuovo file o il relativo nome del file da comprimere.
openImmediatelyBooleanVero se apri il file immediatamente, altrimenti apri il file al salvataggio in archivio.
newEntrySettingsArchiveEntrySettingsImpostazioni di compressione e crittografia utilizzate per l’aggiuntaArchiveEntry articolo.

Valore di ritorno

Istanza di ingresso zip.

Eccezioni

eccezionecondizione
ArgumentNullExceptionpath è zero.
SecurityExceptionIl chiamante non dispone dell’autorizzazione richiesta per l’accesso.
ArgumentExceptionILpath è vuoto, contiene solo spazi bianchi o contiene caratteri non validi.
UnauthorizedAccessExceptionAccesso all’archiviopath è negato.
PathTooLongExceptionIl specificatopath, nome file o entrambi superano la lunghezza massima definita dal sistema. Ad esempio, su piattaforme basate su Windows, i percorsi devono contenere meno di 248 caratteri ei nomi file devono contenere meno di 260 caratteri.
NotSupportedExceptionFile apath contiene i due punti (:) al centro della stringa.

Osservazioni

Il nome della voce è impostato esclusivamente all’internoname parametro. Il nome del file fornito inpath parametro non influisce sul nome della voce.

Se il file viene aperto immediatamente conopenImmediately parametro diventa bloccato fino al salvataggio dell’archivio.

Esempi

using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
    using (var archive = new Archive())
    {
        archive.CreateEntry("data.bin", "file.dat");
        archive.Save(zipFile);
    }
}

Guarda anche


CreateEntry(string, Stream, ArchiveEntrySettings)

Crea una singola voce all’interno dell’archivio.

public ArchiveEntry CreateEntry(string name, Stream source, 
    ArchiveEntrySettings newEntrySettings = null)
ParametroTipoDescrizione
nameStringIl nome della voce.
sourceStreamIl flusso di input per la voce.
newEntrySettingsArchiveEntrySettingsImpostazioni di compressione e crittografia utilizzate per l’aggiuntaArchiveEntry articolo.

Valore di ritorno

Istanza di ingresso zip.

Esempi

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

Guarda anche


CreateEntry(string, FileInfo, bool, ArchiveEntrySettings)

Crea una singola voce all’interno dell’archivio.

public ArchiveEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false, 
    ArchiveEntrySettings newEntrySettings = null)
ParametroTipoDescrizione
nameStringIl nome della voce.
fileInfoFileInfoI metadati del file da comprimere.
openImmediatelyBooleanVero se apri il file immediatamente, altrimenti apri il file al salvataggio in archivio.
newEntrySettingsArchiveEntrySettingsImpostazioni di compressione e crittografia utilizzate per l’aggiuntaArchiveEntry articolo.

Valore di ritorno

Istanza di ingresso zip.

Eccezioni

eccezionecondizione
UnauthorizedAccessExceptionfileInfo è di sola lettura o è una directory.
DirectoryNotFoundExceptionIl percorso specificato non è valido, ad esempio si trova su un’unità non mappata.
IOExceptionIl file è già aperto.

Osservazioni

Il nome della voce è impostato esclusivamente all’internoname parametro. Il nome del file fornito infileInfo parametro non influisce sul nome della voce.

Se il file viene aperto immediatamente conopenImmediately parametro diventa bloccato fino al salvataggio dell’archivio.

Esempi

Componi un archivio con voci crittografate con diversi metodi di crittografia e password ciascuno.

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

Guarda anche


CreateEntry(string, Stream, ArchiveEntrySettings, FileSystemInfo)

Crea una singola voce all’interno dell’archivio.

public ArchiveEntry CreateEntry(string name, Stream source, ArchiveEntrySettings newEntrySettings, 
    FileSystemInfo fileInfo)
ParametroTipoDescrizione
nameStringIl nome della voce.
sourceStreamIl flusso di input per la voce.
newEntrySettingsArchiveEntrySettingsImpostazioni di compressione e crittografia utilizzate per l’aggiuntaArchiveEntry articolo.
fileInfoFileSystemInfoI metadati del file o della cartella da comprimere.

Valore di ritorno

Istanza di ingresso zip.

Eccezioni

eccezionecondizione
InvalidOperationExceptionEntrambisource EfileInfo sono nulli osourceè nullo efileInfo sta per directory.

Osservazioni

Il nome della voce è impostato esclusivamente all’internoname parametro. Il nome del file fornito infileInfo parametro non influisce sul nome della voce.

fileInfo può fare riferimento aDirectoryInfo se la voce è directory.

Esempi

Componi archivio con voce crittografata.

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

Guarda anche