SevenZipArchive.CreateEntry

CreateEntry(string, FileInfo, bool, SevenZipEntrySettings)

Maak een enkel item binnen het archief.

public SevenZipArchiveEntry CreateEntry(string name, FileInfo fileInfo, 
    bool openImmediately = false, SevenZipEntrySettings 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.
newEntrySettingsSevenZipEntrySettingsCompressie- en coderingsinstellingen gebruikt voor toegevoegdSevenZipArchiveEntry item.

Winstwaarde

Seven Zip entry-exemplaar.

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 wachtwoorden.

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

Zie ook


CreateEntry(string, Stream, SevenZipEntrySettings, FileSystemInfo)

Maak een enkel item binnen het archief.

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

Winstwaarde

SevenZip entry-instantie.

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 LZMA2 gecomprimeerde gecodeerde invoer.

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

Zie ook


CreateEntry(string, Stream, SevenZipEntrySettings)

Maak een enkel item binnen het archief.

public SevenZipArchiveEntry CreateEntry(string name, Stream source, 
    SevenZipEntrySettings newEntrySettings = null)
ParameterTypeBeschrijving
nameStringDe naam van het item.
sourceStreamDe invoerstroom voor het item.
newEntrySettingsSevenZipEntrySettingsCompressie- en coderingsinstellingen gebruikt voor toegevoegdSevenZipArchiveEntry item.

Winstwaarde

Zip-invoerinstantie.

Voorbeelden

Stel 7z-archief samen met LZMA2-compressie en codering van alle items.

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

Zie ook


CreateEntry(string, string, bool, SevenZipEntrySettings)

Maak een enkel item binnen het archief.

public SevenZipArchiveEntry CreateEntry(string name, string path, bool openImmediately = false, 
    SevenZipEntrySettings 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.
newEntrySettingsSevenZipEntrySettingsCompressie- en coderingsinstellingen gebruikt voor toegevoegdSevenZipArchiveEntry 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 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);
    }
}

Zie ook