.NETでZipを扱う その2
前のエントリで紹介したJ#のjava.util.zip namespaceだが、.NET1.1用のJ#ランタイムでは、ZipFileクラスにバグがあるようだ。(いずれもHotfixで解決可能)
大きな 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#で再実装される(する)のがベストだろう。