文字列バッファとバイト配列を使用して2つのCSVファイルを作成しています。
私ZipOutputStream
はzipファイルを生成するために使用します。各csvファイルには、14列の20Kレコードが含まれます。実際には、レコードはDBからフェッチされ、に格納されArrayList
ます。リストを繰り返し、ビルドしてバイト配列にStringBuffer
変換StringBuffer
し、zipエントリに変換する必要があります。
レコードをに格納することから始まるプロセス全体を実行するためにJVMに必要なメモリを知りたいですArrayList
。
以下にコードスニペットを提供します。
StringBuffer responseBuffer = new StringBuffer();
String response = new String();
response = "Hello, sdksad, sfksdfjk, World, Date, ask, askdl, sdkldfkl, skldkl, sdfklklgf, sdlksldklk, dfkjsk, dsfjksj, dsjfkj, sdfjkdsfj\n";
for(int i=0;i<20000;i++){
responseBuffer.append(response);
}
response = responseBuffer.toString();
byte[] responseArray = response.getBytes();
res.setContentType("application/zip");
ZipOutputStream zout = new ZipOutputStream(res.getOutputStream());
ZipEntry parentEntry = new ZipEntry("parent.csv");
zout.putNextEntry(parentEntry);
zout.write(responseArray);
zout.closeEntry();
ZipEntry childEntry = new ZipEntry("child.csv");
zout.putNextEntry(childEntry);
zout.write(responseArray);
zout.closeEntry();
zout.close();
これを手伝ってください。前もって感謝します。