Archive.CreateEntry

CreateEntry(string, string, bool, ArchiveEntrySettings)

Skapa en enskild post i arkivet.

public ArchiveEntry CreateEntry(string name, string path, bool openImmediately = false, 
    ArchiveEntrySettings 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.
newEntrySettingsArchiveEntrySettingsKomprimerings- och krypteringsinställningar som används för att lägga tillArchiveEntry 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 zipFile = File.Open("archive.zip", FileMode.Create))
{
    using (var archive = new Archive())
    {
        archive.CreateEntry("data.bin", "file.dat");
        archive.Save(zipFile);
    }
}

Se även


CreateEntry(string, Stream, ArchiveEntrySettings)

Skapa en enskild post i arkivet.

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

Returvärde

Zip-inträdesinstans.

Exempel

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

Se även


CreateEntry(string, FileInfo, bool, ArchiveEntrySettings)

Skapa en enskild post i arkivet.

public ArchiveEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false, 
    ArchiveEntrySettings 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.
newEntrySettingsArchiveEntrySettingsKomprimerings- och krypteringsinställningar som används för att lägga tillArchiveEntry Artikel.

Returvärde

Zip-inträdesinstans.

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 krypteringsmetoder och lösenord var och en.

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

Se även


CreateEntry(string, Stream, ArchiveEntrySettings, FileSystemInfo)

Skapa en enskild post i arkivet.

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

Returvärde

Zip-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

Skapa arkiv med krypterad post.

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

Se även