Zip for WPF/Silverlight
文字列変数を zip ファイルに保存する
タスク別ヘルプ > 文字列変数を zip ファイルに保存する

文字列変数を zip ファイルに保存するには、次のいずれかのメソッドを使用します。

次のコードは、両方のメソッドを示しています。この例では、OpenWriter メッソドのコードはbutton1_Click イベントに示しています。 MemoryStream メッソドのコードはbutton2_Click イベントに示しています。

コードのコピー
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim str As String = "Shall I compare thee to a summer's day? " + "Thou art more lovely and more temperate. " + "Rough winds do shake the darling buds of May, " + "And summer's lease hath all too short a date."
    Dim zipFile As New C1ZipFile()
    zipFile.Create("c:\temp\strings.zip")
    ' 方法1:OpenWriter を使用する。
    Dim stream As Stream = zipFile.Entries.OpenWriter("Shakespeare.txt", True)
    Dim sw As New C1ZStreamWriter(stream)
    sw.Write(str)
    sw.Close()
  
    ' 方法2:メモリストリームを使用する。
    stream = New MemoryStream()
    sw = New C1ZStreamWriter(stream)
    sw.Write(str)
    sw.Flush()
    stream.Position = 0
    zipFile.Entries.Add(stream, "Shakespeare2.txt")
    stream.Close()
End Sub
コードのコピー
private void button1_Click(object sender, System.EventArgs e)
{
    string str = "Shall I compare thee to a summer's day? " +
        "Thou art more lovely and more temperate. " +
        "Rough winds do shake the darling buds of May, " +
        "And summer's lease hath all too short a date.";
    C1ZipFile zipFile = new C1ZipFile();
    zipFile.Create(@"c:\temp\strings.zip");
    // 方法1:OpenWriter を使用する。
    Stream stream = zipFile.Entries.OpenWriter("Shakespeare.txt", true);
    C1ZStreamWriter sw = new C1ZStreamWriter(stream);
    sw.Write(str);
    sw.Close();
    // 方法2:メモリストリームを使用する。
    stream = new MemoryStream();
    sw = new C1ZStreamWriter(stream);
    sw.Write(str);
    sw.Flush();
    stream.Position = 0;
    zipFile.Entries.Add(stream, "Shakespeare2.txt");
    stream.Close();
}