ファイルを圧縮して出力ストリームに書き込んでいます。圧縮されたファイルのサイズを取得して応答ヘッダーに入れる方法
os = response.getOutputStream();
gzos = new GZIPOutputStream(os);
fin = new FileInputStream(file);
in = new BufferedInputStream(fin);
byte[] buffer = new byte[1024];
int i;
while ((i = in.read(buffer)) >= 0) {
gzos.write(buffer, 0, i);
}
gzos.flush();