.NETでZipを扱う その2

前のエントリで紹介したJ#のjava.util.zip namespaceだが、.NET1.1用のJ#ランタイムでは、ZipFileクラスにバグがあるようだ。(いずれもHotfixで解決可能)

Microsoft Visual J# .NETに ZipFile クラスを使用すると、 .zip ファイルを展開しようとすると、「Cyclic 冗長性確認」エラー メッセージを表示することがあります。

大きな zip ファイルを開くために、 java.util.zip.ZipFile クラスを使用する場合、 ArrayOutOfBounds 例外エラーが発生します。

これらのバグやMonoでの利用等もあって、.NET1.1時代〜は、より確実な実装である#ZipLib(http://www.icsharpcode.net/OpenSource/SharpZipLib/Default.aspx)を選択することが現実解のようだ。
.NET2.0ではどうだろうと、くだんのCodeProjectでバグを警告していた記事のプロジェクト等をVisual Studio 2005でビルドして、テストしてみたのだが、以前テストしたGZipクラス同様にバグは取れているようで、特に問題は発生しなかった。しかし再配布パッケージは面倒なので、やはりC#で再実装される(する)のがベストだろう。