public void Save(Stream output, IProgress <ProgressReport> progress) { CheckDisposed(); using (var archiveStream = CreateTemporaryStream()) { using (var archive = new ZipArchive(archiveStream, ZipArchiveMode.Create, true)) { BuildArchive(archive, progress); } // close archive archiveStream.Seek(0, SeekOrigin.Begin); CompressionUtility.Compress(archiveStream, output, progress); } // close archiveStream }
public void Save(string archivePath, IProgress <ProgressReport> progress) { CheckDisposed(); using (var archiveStream = CreateTemporaryStream()) { using (var archive = new ZipArchive(archiveStream, ZipArchiveMode.Create, true)) { BuildArchive(archive, progress); } // close archive archiveStream.Seek(0, SeekOrigin.Begin); using (var lzmaStream = File.Create(archivePath)) { CompressionUtility.Compress(archiveStream, lzmaStream, progress); } } // close archiveStream }