0

次のコードを使用して、zip ファイルの内容を抽出しています。

using(ZipArchive zipArchive = new ZipArchive(memoryStream))
{
    foreach (ZipArchiveEntry entry in zipArchive.Entries)
    {
        entry.ExtractToFile("extract.txt");
    }
}

これは、パスワードで保護されていない zip ファイルに対しては完全に機能しますが、パスワードで保護されているパスワードに対しても機能する必要があります。

他のクラスや他のコードを使用して目的を達成できる他のサンプルを見たことがありますが、この方法は非常にクリーンであることがわかり、パスワードを設定できるプロパティがあることを願っています (これ以上必要ないはずです)。それより難しい)。

前もって感謝します。

4

1 に答える 1

3

Oded が言ったように、組み込みクラスはパスワードをサポートしていません。DotNetZipなどの外部ライブラリを試す必要があります。無料で強力で、必要なほぼすべてをサポートします。

この場合、例は次のとおりです。

 using (ZipFile zip = ZipFile.Read(ExistingZipFile))
  {
    ZipEntry e = zip["TaxInformation-2008.xls"];
    e.ExtractWithPassword(BaseDirectory, Password);
  }
于 2012-10-15T16:05:32.587 に答える