SevenZipArchive.CreateEntry

CreateEntry(string, FileInfo, bool, SevenZipEntrySettings)

Skapa en enskild post i arkivet.

public SevenZipArchiveEntry CreateEntry(string name, FileInfo fileInfo, 
    bool openImmediately = false, SevenZipEntrySettings newEntrySettings = null)
ParameterTypBeskrivning
nameStringNamnet på posten.
fileInfoFileInfoMetadata för filen som ska komprimeras.
openImmediatelyBooleanSant om du öppnar filen omedelbart, annars öppnar du filen när du sparar arkivet.
newEntrySettingsSevenZipEntrySettingsKomprimerings- och krypteringsinställningar som används för att lägga tillSevenZipArchiveEntry Artikel.

Returvärde

Seven Zip entry instans.

Undantag

undantagskick
UnauthorizedAccessExceptionfileInfo är skrivskyddad eller är en katalog.
DirectoryNotFoundExceptionDen angivna sökvägen är ogiltig, till exempel på en omappad enhet.
IOExceptionFilen är redan öppen.

Anmärkningar

Postens namn anges endast inomname parameter. Filnamnet som anges ifileInfo parametern påverkar inte postens namn.

Om filen öppnas omedelbart medopenImmediately parametern blockeras den tills arkivet sparas.

Exempel

Komponera arkiv med poster krypterade med olika lösenord var och en.

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

Se även


CreateEntry(string, Stream, SevenZipEntrySettings, FileSystemInfo)

Skapa en enskild post i arkivet.

public SevenZipArchiveEntry CreateEntry(string name, Stream source, 
    SevenZipEntrySettings newEntrySettings, FileSystemInfo fileInfo)
ParameterTypBeskrivning
nameStringNamnet på posten.
sourceStreamIngångsströmmen för posten.
newEntrySettingsSevenZipEntrySettingsKomprimerings- och krypteringsinställningar som används för att lägga tillSevenZipArchiveEntry Artikel.
fileInfoFileSystemInfoMetadata för fil eller mapp som ska komprimeras.

Returvärde

SevenZip-inträdesinstans.

Undantag

undantagskick
InvalidOperationExceptionBådesource ochfileInfo är null ellersourceär null ochfileInfo står för katalog.

Anmärkningar

Postens namn anges endast inomname parameter. Filnamnet som anges ifileInfo parametern påverkar inte postens namn.

fileInfo kan hänvisa tillDirectoryInfo om posten är katalog.

Exempel

Komponera arkiv med LZMA2 komprimerad krypterad post.

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

Se även


CreateEntry(string, Stream, SevenZipEntrySettings)

Skapa en enskild post i arkivet.

public SevenZipArchiveEntry CreateEntry(string name, Stream source, 
    SevenZipEntrySettings newEntrySettings = null)
ParameterTypBeskrivning
nameStringNamnet på posten.
sourceStreamIngångsströmmen för posten.
newEntrySettingsSevenZipEntrySettingsKomprimerings- och krypteringsinställningar som används för att lägga tillSevenZipArchiveEntry Artikel.

Returvärde

Zip-inträdesinstans.

Exempel

Komponera 7z-arkiv med LZMA2-komprimering och kryptering av alla poster.

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

Se även


CreateEntry(string, string, bool, SevenZipEntrySettings)

Skapa en enskild post i arkivet.

public SevenZipArchiveEntry CreateEntry(string name, string path, bool openImmediately = false, 
    SevenZipEntrySettings newEntrySettings = null)
ParameterTypBeskrivning
nameStringNamnet på posten.
pathStringDet fullständiga namnet på den nya filen, eller det relativa filnamnet som ska komprimeras.
openImmediatelyBooleanSant om du öppnar filen omedelbart, annars öppnar du filen när du sparar arkivet.
newEntrySettingsSevenZipEntrySettingsKomprimerings- och krypteringsinställningar som används för att lägga tillSevenZipArchiveEntry Artikel.

Returvärde

Zip-inträdesinstans.

Undantag

undantagskick
ArgumentNullExceptionpath är inget.
SecurityExceptionDen som ringer har inte den behörighet som krävs för att få åtkomst.
ArgumentExceptionDepath är tom, innehåller bara blanksteg eller innehåller ogiltiga tecken.
UnauthorizedAccessExceptionTillgång till filpath är nekad.
PathTooLongExceptionDen angivnapath, filnamn eller båda överskrider den systemdefinierade maximala längden. Till exempel, på Windows-baserade plattformar måste sökvägar vara mindre än 248 tecken och filnamn måste vara mindre än 260 tecken.
NotSupportedExceptionArkivera klpath innehåller ett kolon (:) i mitten av strängen.

Anmärkningar

Postens namn anges endast inomname parameter. Filnamnet som anges ipath parametern påverkar inte postens namn.

Om filen öppnas omedelbart medopenImmediately parametern blockeras den tills arkivet sparas.

Exempel

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

Se även