Save

SevenZipArchive.Save method (1 of 2)

Saves 7z archive to the stream provided.

public void Save(Stream output)
Parameter Type Description
output Stream Destination stream.

Exceptions

exception condition
ArgumentException output does not support seeking.
ArgumentNullException output is null.
InvalidOperationException Encoder failed to compress data.

Remarks

output must be seekable.

Examples

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

See Also


SevenZipArchive.Save method (2 of 2)

Saves archive to destination file provided.

public void Save(string destinationFileName)
Parameter Type Description
destinationFileName String The path of the archive to be created. If the specified file name points to an existing file, it will be overwritten.

Exceptions

exception condition
ArgumentNullException destinationFileName is null.
SecurityException The caller does not have the required permission to access
ArgumentException The destinationFileName is empty, contains only white spaces, or contains invalid characters.
UnauthorizedAccessException Access to file destinationFileName is denied.
PathTooLongException The specified destinationFileName, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters.
NotSupportedException File at destinationFileName contains a colon (:) in the middle of the string.

Remarks

It is possible to save an archive to the same path as it was loaded from. However, this is not recommended because this approach uses copying to temporary file.

Examples

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

See Also