Zip for .NET
複数のエントリを持つ Zip ファイルの作成
タスク別ヘルプ > 複数のエントリを持つ Zip ファイルの作成

複数の XML ファイルを直接 ZIP ファイルに書き込むストリームオブジェクトを開くには、OpenWriter メソッドを使用します。

zip ファイルにデータを追加するために使用できるストリームが戻り値です。エントリは、ストリームが閉じられるまで追加されません。
以下のコードを、Click イベントに追加します。

Visual Basic コードの書き方

Visual Basic
コードのコピー
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  Dim zip As New C1ZipFile()
  zip.Create("c:\temp\test.zip") 
  Dim s As Stream = zip.Entries.OpenWriter("entry1", True)
  Dim sw As New StreamWriter(s)
  sw.WriteLine("Hello world")
  '希望するだけ書き込みます。
   sw.Close()
   s = zip.Entries.OpenWriter("entry2", True)
   sw = New StreamWriter(s)
   sw.WriteLine("Hello again")
   '希望するだけ書き込みます。
   sw.Close()
End Sub

C# コードの書き方

C#
コードのコピー
private void button1_Click(object sender, System.EventArgs e)
{
    C1ZipFile zip = new C1ZipFile();
    zip.Create(@"c:\temp\test.zip");
    Stream s = zip.Entries.OpenWriter("entry1", true);
    StreamWriter sw = new StreamWriter(s);
    sw.WriteLine("Hello world");
      // 希望するだけ書き込みます。
    sw.Close();
    s = zip.Entries.OpenWriter("entry2", true);
    sw = new StreamWriter(s);
    sw.WriteLine("Hello again");
      // 希望するだけ書き込みます。
    sw.Close();
} 

エントリをファイルに保存せずに読み込むには、 OpenReader メソッドを使用します。

注意: OpenWriter メソッドは、C1ZipEntryCollection クラスのメンバですが、OpenReader メソッドは、 C1ZipEntry クラスのメンバです。