SevenZipArchive.Save

Save(Stream)

将 7z 存档保存到提供的流中。

public void Save(Stream output)
范围类型描述
outputStream目标流。

例外

例外(健康)状况
ArgumentExceptionoutput不支持寻找。
ArgumentNullExceptionoutput一片空白。
InvalidOperationException编码器无法压缩数据。

评论

output必须是可寻的。

例子

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

也可以看看


Save(string)

将存档保存到提供的目标文件。

public void Save(string destinationFileName)
范围类型描述
destinationFileNameString要创建的存档的路径。如果指定的文件名指向一个现有文件,它将被覆盖。

例外

例外(健康)状况
ArgumentNullExceptiondestinationFileName一片空白。
SecurityException调用者没有所需的访问权限。
ArgumentExceptiondestinationFileName为空、仅包含空格或包含无效字符。
UnauthorizedAccessException访问文件destinationFileName被拒绝。
PathTooLongException指定的destinationFileName、文件名或两者都超过了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须少于 248 个字符,文件名必须少于 260 个字符。
NotSupportedException归档于destinationFileName在字符串中间包含一个冒号 (:)。

评论

可以将存档保存到与从中加载的路径相同的路径。 但是,不建议这样做,因为这种方法使用复制到临时文件。

例子

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

也可以看看