SevenZipArchive.Save

Save(Stream)

Slaat 7z-archief op in de geleverde stream.

public void Save(Stream output)
ParameterTypeBeschrijving
outputStreamBestemmingsstroom.

Uitzonderingen

uitzonderingvoorwaarde
ArgumentExceptionoutput ondersteunt het zoeken niet.
ArgumentNullExceptionoutput is niets.
InvalidOperationExceptionEncoder kan gegevens niet comprimeren.

Opmerkingen

output moet vindbaar zijn.

Voorbeelden

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

Zie ook


Save(string)

Slaat archief op in opgegeven bestemmingsbestand.

public void Save(string destinationFileName)
ParameterTypeBeschrijving
destinationFileNameStringHet pad van het aan te maken archief. Als de opgegeven bestandsnaam naar een bestaand bestand verwijst, wordt dit overschreven.

Uitzonderingen

uitzonderingvoorwaarde
ArgumentNullExceptiondestinationFileName is niets.
SecurityExceptionDe beller heeft niet de vereiste toegangsrechten.
ArgumentExceptionDedestinationFileName is leeg, bevat alleen spaties of bevat ongeldige tekens.
UnauthorizedAccessExceptionToegang tot dossierdestinationFileName wordt ontkend.
PathTooLongExceptionDe opgegevendestinationFileName, 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 bijdestinationFileName bevat een dubbele punt (:) in het midden van de tekenreeks.

Opmerkingen

Het is mogelijk om een archief op te slaan in hetzelfde pad als waaruit het is geladen. Dit wordt echter niet aanbevolen, omdat deze aanpak gebruikmaakt van kopiëren naar een tijdelijk bestand.

Voorbeelden

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

Zie ook