SevenZipArchive.CreateEntry

CreateEntry(string, FileInfo, bool, SevenZipEntrySettings)

Einzelner Eintrag im Archiv erstellen.

public SevenZipArchiveEntry CreateEntry(string name, FileInfo fileInfo, 
    bool openImmediately = false, SevenZipEntrySettings newEntrySettings = null)
ParameterTypBeschreibung
nameStringDer Name des Eintrags.
fileInfoFileInfoDie Metadaten der zu komprimierenden Datei.
openImmediatelyBooleanWahr, wenn die Datei sofort geöffnet wird, andernfalls die Datei beim Archivspeichern öffnen.
newEntrySettingsSevenZipEntrySettingsKomprimierungs- und Verschlüsselungseinstellungen für hinzugefügtSevenZipArchiveEntry Artikel.

Rückgabewert

Instanz mit sieben Zip-Einträgen.

Ausnahmen

AusnahmeBedingung
UnauthorizedAccessExceptionfileInfo ist schreibgeschützt oder ein Verzeichnis.
DirectoryNotFoundExceptionDer angegebene Pfad ist ungültig, da er sich beispielsweise auf einem nicht zugeordneten Laufwerk befindet.
IOExceptionDie Datei ist bereits geöffnet.

Bemerkungen

Der Eintragsname wird ausschließlich innerhalb gesetztname Parameter. Der Dateiname, der in bereitgestellt wirdfileInfo Parameter wirkt sich nicht auf den Eintragsnamen aus.

Wird die Datei sofort mit geöffnetopenImmediately Parameter wird es gesperrt, bis das Archiv gespeichert wird.

Beispiele

Erstellen Sie ein Archiv mit Einträgen, die mit jeweils unterschiedlichen Passwörtern verschlüsselt sind.

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

Siehe auch


CreateEntry(string, Stream, SevenZipEntrySettings, FileSystemInfo)

Einzelner Eintrag im Archiv erstellen.

public SevenZipArchiveEntry CreateEntry(string name, Stream source, 
    SevenZipEntrySettings newEntrySettings, FileSystemInfo fileInfo)
ParameterTypBeschreibung
nameStringDer Name des Eintrags.
sourceStreamDer Eingabestream für den Eintrag.
newEntrySettingsSevenZipEntrySettingsKomprimierungs- und Verschlüsselungseinstellungen für hinzugefügtSevenZipArchiveEntry Artikel.
fileInfoFileSystemInfoDie Metadaten der zu komprimierenden Datei oder des Ordners.

Rückgabewert

SevenZip-Eintragsinstanz.

Ausnahmen

AusnahmeBedingung
InvalidOperationExceptionBeidesource UndfileInfo sind null odersourceist null undfileInfo steht für Verzeichnis.

Bemerkungen

Der Eintragsname wird ausschließlich innerhalb gesetztname Parameter. Der Dateiname, der in bereitgestellt wirdfileInfo Parameter wirkt sich nicht auf den Eintragsnamen aus.

fileInfo verweisen kannDirectoryInfo wenn der Eintrag Verzeichnis ist.

Beispiele

Archiv mit LZMA2-komprimiertem verschlüsseltem Eintrag erstellen.

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

Siehe auch


CreateEntry(string, Stream, SevenZipEntrySettings)

Einzelner Eintrag im Archiv erstellen.

public SevenZipArchiveEntry CreateEntry(string name, Stream source, 
    SevenZipEntrySettings newEntrySettings = null)
ParameterTypBeschreibung
nameStringDer Name des Eintrags.
sourceStreamDer Eingabestream für den Eintrag.
newEntrySettingsSevenZipEntrySettingsKomprimierungs- und Verschlüsselungseinstellungen für hinzugefügtSevenZipArchiveEntry Artikel.

Rückgabewert

Zip-Eintragsinstanz.

Beispiele

Erstellen Sie ein 7z-Archiv mit LZMA2-Komprimierung und Verschlüsselung aller Einträge.

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

Siehe auch


CreateEntry(string, string, bool, SevenZipEntrySettings)

Einzelner Eintrag im Archiv erstellen.

public SevenZipArchiveEntry CreateEntry(string name, string path, bool openImmediately = false, 
    SevenZipEntrySettings newEntrySettings = null)
ParameterTypBeschreibung
nameStringDer Name des Eintrags.
pathStringDer vollständig qualifizierte Name der neuen Datei oder der relative Dateiname, der komprimiert werden soll.
openImmediatelyBooleanWahr, wenn die Datei sofort geöffnet wird, andernfalls die Datei beim Archivspeichern öffnen.
newEntrySettingsSevenZipEntrySettingsKomprimierungs- und Verschlüsselungseinstellungen für hinzugefügtSevenZipArchiveEntry Artikel.

Rückgabewert

Zip-Eintragsinstanz.

Ausnahmen

AusnahmeBedingung
ArgumentNullExceptionpath ist Null.
SecurityExceptionDer Anrufer verfügt nicht über die erforderliche Zugriffsberechtigung.
ArgumentExceptionDerpath leer ist, nur Leerzeichen enthält oder ungültige Zeichen enthält.
UnauthorizedAccessExceptionZugriff auf Dateipath ist abgelehnt.
PathTooLongExceptionDie angegebenepath, Dateiname oder beide überschreiten die vom System definierte maximale Länge. Beispielsweise müssen auf Windows-basierten Plattformen Pfade weniger als 248 Zeichen und Dateinamen weniger als 260 Zeichen umfassen.
NotSupportedExceptionDatei unterpath enthält einen Doppelpunkt (:) in der Mitte der Zeichenfolge.

Bemerkungen

Der Eintragsname wird ausschließlich innerhalb gesetztname Parameter. Der Dateiname, der in bereitgestellt wirdpath Parameter wirkt sich nicht auf den Eintragsnamen aus.

Wird die Datei sofort mit geöffnetopenImmediately Parameter wird es gesperrt, bis das Archiv gespeichert wird.

Beispiele

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

Siehe auch