public void add(String name, InputStream is, String password)

ByteArrayOutputStream bos = new ByteArrayOutputStream();
DeflaterOutputStream dos = new DeflaterOutputStream(bos, new Deflater(9, true), 1024);
int read=0;
long inputLen = 0;
byte[] buf = new byte[1024];
while ((read = is.read(buf)) > 0) {
inputLen += read;
dos.write(buf, 0, read);
}
dos.close();


안녕하세요.
위에 소스 보시면 고수분들께서는 금방 아시겠지만,
add 함수를 부를 때 is로 큰 파일이 오면 while문에서 바로 Outofmemory가 발생합니다.
며칠째 이거랑 싸우고 있는데 마땅한 대안이나 해법도 모르겠습니다.

아시는분.. 그냥 지나치지 마시고 꼭 저좀 살려주세요.

감사합니다.