応答出力ストリームを使用してクライアントに PDF ファイルをコピーするサーブレットがあります。
private boolean copyStreamToStream(InputStream in, OutputStream target) {
logger.info("start copy file to stream");
try {
byte[] buffer = new byte[1024 * 8];
int len = in.read(buffer);
while (len != -1) {
target.write(buffer, 0, len);
len = in.read(buffer);
}
in.close();
target.flush();
target.close();
logger.info("end copy file to stream");
} catch (Exception ex) {
logger.error("Error: ", ex);
return false;
}
return true;
}
ディスク上の pdf ファイルの InputStream と response.getOutputStream() の OutputStream
問題は、PDF ファイルが大きなファイルであり、クライアントにロードするのに非常に長い時間がかかることです。高速化する方法はありますか?