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

関連項目