サーバから複数のファイル、しかも大容量のデータをクライアントにダウンロードさせる場合、個々のファイルを個別にダウンロードさせるよりも、必要なデータを(ZIP形式などで)圧縮したうえで1ファイルにまとめた方が通信時間を短縮することができる。 もちろんあらかじめ必要なデータが分かっている場合には、静的に圧縮ファイルを用意しておいた方がよいだろう。しかし取得するファイルを動的に選択させたい、あるいはデータベースから取得したデータに基づいて、ファイルそのものを動的に生成したいという場合には、アプリケーションで動的に圧縮ファイルを生成する必要がある。 本稿では、(.NET Framework 1.1で新たに.NET言語として加わった)「J#」が提供するZipOutputStreamクラス(java.util.zip名前空間)を利用して、データベースから取得したテーブルの内容(タブ区切りテキスト)を動