2008年05月20日
川俣晶の縁側ソフトウェア技術雑記 total 7042 count

長年の問題に決着? .NETでZIPファイルを扱うならDotNetZipか!?

Written By: 川俣 晶連絡先

 .NET上でZIPファイルを扱うライブラリとして、これまでJ#のライブラリを使用してきました。しかし、これは一部のツールと互換性のないファイルを作成する問題があります。

 具体的には、以下のような問題が発生しています。

  • WinZipで扱えないことがある
  • Windows Mobile上のGSFinderで扱えないことがある
  • Windows Mobile上のExパンダで扱えないことがある

 以前試したときにはSharpZipLibも同じようにWindows Mobile上で扱えないファイルを生成しました。

 というわけで、何を使えば良いのか悩んでいました。

 その後、DotNetZipというライブラリがあると知ったのですが、多忙でチェックが棚上げになっていました。しかし、複数の案件がZIPの問題で引っかかっている状況に気づいちゃので、無い時間を割いて試してみました。

 その結果……。

 なんとGSFinder, Exパンダ共にOKというファイルが生成できました。

 これはナイス!

ご注意 §

 これは、単に以下の条件で生成したファイルが、GSFinder, Exパンダで扱えたという話でしかありません。SharpZipLibや他のライブラリの最新版はチェックしていないので、状況は違うかもしれません。

検証手順 §

  • 上記サイトよりZipUtils-v1.3.zipを入手
  • これに含まれるZipItを使用し、JPEGファイルを1つ含むZIPファイルをWindows Vista上で作成
  • Advanced/W-ZERO3 [es]に転送
  • Advanced/W-ZERO3 [es]上のGSFinderおよびExパンダでZIPファイルを開き、内部のJPEGファイルが正しく表示されることを確認

感想 §

 DotNetZipはライセンスも緩いし、割と使えるかも……。

 と思ったものの、用事が多くてすぐにソースをいじれないよ!

謝辞 §

 このライブラリの存在に気づかせてくれたmessiahさんに感謝!