変更履歴ZipファイルJavaでzipファイルを扱う方法。[2007-12-14]jarファイル概要(どのクラスを使うべきか)zipはjavaでよく使う(jarファイルがzip形式だから)のでjava.util.zipというパッケージが用意されており、標準で扱える。JDK1.6以前では日本語ファイル名が扱えない(※)ので日本人としては非常に不便。正確には、圧縮時にUTF8で保存されてしまい、解凍時もUTF8として扱ってしまう。Java以外のツールで日本語ファイル名をUTF8で扱ってくれない場合、文字化けしてしまう(大半はそうだと思う)。Ant(ant.jar)でもzipを扱うクラスが(半分)独自実装されており、こちらはエンコードを指定することができるので日本語ファイル名を簡単に扱うことができる。だいたい同じ)Eclipseを使っていればant.jarが入っているし、Antのものを使うのもいいだろう。JDK1.7ではZipOutputStreamやZipFileのコンストラクターでファイル名のエンコードを指定できるようになったので、無理してAnt版を使う必要はなくなった。[2014-04-16]zipファイルの作成(圧縮)zipファイルを作成するには、ZipOutputStreamというクラスを使う。(標準ライブラリならjava.util.zip.ZipOutputStream、Antのならorg.apache.tools.zip.ZipOutputStream)ZipOutputStreamは素直にnewでインスタンスを作成するのだが、Ant版ではコンストラクターがちょっと違う。出力ストリームに対して作成する。ファイル名およびコメントのエンコーディングを指定できる。