SevenZipArchive.Save

Save(Stream)

Speichert das 7z-Archiv im bereitgestellten Stream.

public void Save(Stream output)
ParameterTypBeschreibung
outputStreamZielstrom.

Ausnahmen

AusnahmeBedingung
ArgumentExceptionoutput unterstützt nicht das Suchen.
ArgumentNullExceptionoutput ist Null.
InvalidOperationExceptionEncoder konnte Daten nicht komprimieren.

Bemerkungen

output muss auffindbar sein.

Beispiele

using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
  using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
  {
    using (var archive = new SevenZipArchive())
    {
      archive.CreateEntry("data", source);
      archive.Save(sevenZipFile);
    }
  }
}

Siehe auch


Save(string)

Speichert das Archiv in der bereitgestellten Zieldatei.

public void Save(string destinationFileName)
ParameterTypBeschreibung
destinationFileNameStringDer Pfad des zu erstellenden Archivs. Wenn der angegebene Dateiname auf eine vorhandene Datei verweist, wird diese überschrieben.

Ausnahmen

AusnahmeBedingung
ArgumentNullExceptiondestinationFileName ist Null.
SecurityExceptionDer Anrufer verfügt nicht über die erforderliche Zugriffsberechtigung.
ArgumentExceptionDerdestinationFileName leer ist, nur Leerzeichen enthält oder ungültige Zeichen enthält.
UnauthorizedAccessExceptionZugriff auf DateidestinationFileName ist abgelehnt.
PathTooLongExceptionDie angegebenedestinationFileName, 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 unterdestinationFileName enthält einen Doppelpunkt (:) in der Mitte der Zeichenfolge.

Bemerkungen

Es ist möglich, ein Archiv unter demselben Pfad zu speichern, aus dem es geladen wurde. Dies wird jedoch nicht empfohlen, da dieser Ansatz das Kopieren in eine temporäre Datei verwendet.

Beispiele

using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
   using (var archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMACompressionSettings())))
   {
      archive.CreateEntry("data", source);
      archive.Save("archive.7z");
   }
}

Siehe auch