Java

Java 指定ファイルをzipにまとめる。

zipファイルにまとめる

zipにファイルをまとめるという機能は、帳票システムを作成する上では欠かせない機能の一つかと思います。

今回は対象ファイルだけをターゲットにしていますが、実際の開発では管理者が作成した契約書をファイルに変換してzipにまとめる。その後、ダウンロードさせる。

などという一連の流れになるのではないでしょうか。

その場合でも、今回紹介する処理を応用すれば比較的簡単に対応できるかと思います。

デスクトップに置かれたtest.zipを解凍すると、zip内階層で指定したtest/test.txtという階層でフォルダ、ファイルが作成されていることかと思います。

もし、複数のファイルを対象とする場合はfor文を用いてファイルの数だけエントリーを行うように修正すればよいと思います。

作成したzipをダウンロードするには、zipのパスをFileDataSource型に変換して、httpレスポンスのボディーに埋め込んであげる処理を追加すれば何とかなるのではないでしょうか。

また、今回は参考としてファイル名、パスなどをハードコードとして記述しています。

しかしそれでは再利用性、汎用性の高いコードとは言えないので、例えば設定値として登録してあげることでより良いコードとなるでしょう。

 

Pocket