Archive.CreateEntry

CreateEntry(string, string, bool, ArchiveEntrySettings)

Maak een enkel item binnen het archief.

public ArchiveEntry CreateEntry(string name, string path, bool openImmediately = false, 
    ArchiveEntrySettings newEntrySettings = null)
ParameterTypeBeschrijving
nameStringDe naam van het item.
pathStringDe volledig gekwalificeerde naam van het nieuwe bestand, of de relatieve bestandsnaam die moet worden gecomprimeerd.
openImmediatelyBooleanWaar als het bestand onmiddellijk wordt geopend, anders opent u het bestand bij opslaan in het archief.
newEntrySettingsArchiveEntrySettingsCompressie- en coderingsinstellingen gebruikt voor toegevoegdArchiveEntry item.

Winstwaarde

Zip-invoerinstantie.

Uitzonderingen

uitzonderingvoorwaarde
ArgumentNullExceptionpath is niets.
SecurityExceptionDe beller heeft niet de vereiste toegangsrechten.
ArgumentExceptionDepath is leeg, bevat alleen spaties of bevat ongeldige tekens.
UnauthorizedAccessExceptionToegang tot dossierpath wordt ontkend.
PathTooLongExceptionDe opgegevenpath, bestandsnaam of beide overschrijden de door het systeem gedefinieerde maximale lengte. Op Windows-gebaseerde platforms moeten paden bijvoorbeeld uit minder dan 248 tekens bestaan en moeten bestandsnamen uit minder dan 260 tekens bestaan.
NotSupportedExceptionDossier bijpath bevat een dubbele punt (:) in het midden van de tekenreeks.

Opmerkingen

De naam van het item wordt alleen binnen ingesteldname parameter. De bestandsnaam die is opgegeven inpath parameter heeft geen invloed op de naam van het item.

Als het bestand direct wordt geopend metopenImmediately parameter wordt het geblokkeerd totdat het archief is opgeslagen.

Voorbeelden

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

Zie ook


CreateEntry(string, Stream, ArchiveEntrySettings)

Maak een enkel item binnen het archief.

public ArchiveEntry CreateEntry(string name, Stream source, 
    ArchiveEntrySettings newEntrySettings = null)
ParameterTypeBeschrijving
nameStringDe naam van het item.
sourceStreamDe invoerstroom voor het item.
newEntrySettingsArchiveEntrySettingsCompressie- en coderingsinstellingen gebruikt voor toegevoegdArchiveEntry item.

Winstwaarde

Zip-invoerinstantie.

Voorbeelden

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

Zie ook


CreateEntry(string, FileInfo, bool, ArchiveEntrySettings)

Maak een enkel item binnen het archief.

public ArchiveEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false, 
    ArchiveEntrySettings newEntrySettings = null)
ParameterTypeBeschrijving
nameStringDe naam van het item.
fileInfoFileInfoDe metadata van het te comprimeren bestand.
openImmediatelyBooleanWaar als het bestand onmiddellijk wordt geopend, anders opent u het bestand bij opslaan in het archief.
newEntrySettingsArchiveEntrySettingsCompressie- en coderingsinstellingen gebruikt voor toegevoegdArchiveEntry item.

Winstwaarde

Zip-invoerinstantie.

Uitzonderingen

uitzonderingvoorwaarde
UnauthorizedAccessExceptionfileInfo is alleen-lezen of is een map.
DirectoryNotFoundExceptionHet opgegeven pad is ongeldig, omdat het zich bijvoorbeeld op een niet-toegewezen schijf bevindt.
IOExceptionHet bestand is al geopend.

Opmerkingen

De naam van het item wordt alleen binnen ingesteldname parameter. De bestandsnaam die is opgegeven infileInfo parameter heeft geen invloed op de naam van het item.

Als het bestand direct wordt geopend metopenImmediately parameter wordt het geblokkeerd totdat het archief is opgeslagen.

Voorbeelden

Stel een archief samen met vermeldingen die elk zijn versleuteld met verschillende coderingsmethoden en wachtwoorden.

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

Zie ook


CreateEntry(string, Stream, ArchiveEntrySettings, FileSystemInfo)

Maak een enkel item binnen het archief.

public ArchiveEntry CreateEntry(string name, Stream source, ArchiveEntrySettings newEntrySettings, 
    FileSystemInfo fileInfo)
ParameterTypeBeschrijving
nameStringDe naam van het item.
sourceStreamDe invoerstroom voor het item.
newEntrySettingsArchiveEntrySettingsCompressie- en coderingsinstellingen gebruikt voor toegevoegdArchiveEntry item.
fileInfoFileSystemInfoDe metadata van het bestand of de map die moet worden gecomprimeerd.

Winstwaarde

Zip-invoerinstantie.

Uitzonderingen

uitzonderingvoorwaarde
InvalidOperationExceptionBeidesource EnfileInfo zijn nul ofsourceis nul enfileInfo staat voor map.

Opmerkingen

De naam van het item wordt alleen binnen ingesteldname parameter. De bestandsnaam die is opgegeven infileInfo parameter heeft geen invloed op de naam van het item.

fileInfo kan verwijzen naarDirectoryInfo als de vermelding directory is.

Voorbeelden

Archief samenstellen met gecodeerde invoer.

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

Zie ook