.NETでZipを扱う

以前の日記で.NET2.0で実装されたGZip系のクラスに言及したが、Zipは直接扱えない(#Zlib等の外部ライブラリィなら使えるが)。本日、やねうらおさんからトラックバックを頂いたのがきっかけになったのだが、.NETの標準ライブラリィでZipを扱えないのか、と思って調べていると、やはり既に使っている記事がCodeProjectにあった。

Zip and Unzip from a C# program using J# runtime

なるほど、vjslib.dllか。namespaceも、もろjava.util.zipだ。このアセンブリは.NET2.0(v2.0.50727)にも添付されているので.NET2.0でも同様にZip系フォーマットが使えるだろう。

以前にどこかでC#には実装されていない、VB.NETにしか無いクラスの紹介記事を見たことがあるが、今回もJ#にしか無いであろうクラス、それも非常に重宝するクラスがC#に実装されていないのはおかしくないだろうか。

追記:C#から使えるといっても、別アセンブリであり.NETランタイム自体には含まれないので、配布には"Microsoft Visual J#2.0 Redistributable Package"が必要だ。
Visual J# 再頒布可能パッケージの配布
ClickOnceなら勝手にマニフェストに追加してくれるのだろうが、このように追加のパッケージになるのは真っ平御免だな。