Pisze program, ktory za zadanie ma przeslac plik na serwer www za pomoca http POST. Korzystam przy tym z biblioteki ClientHttpRequest2. Program dziala dobrze dopoki wysylam pliki o rozmiarze ok 30-40mb. Przy wysylaniu np. pliku 150mb dostaje blad:
Exception in thread "Thread-4" java.lang.OutOfMemoryError: Java heap space
Wiem juz, ze za blad odpowiedzialny jest kod z biblioteki:
private void pipe(InputStream in, OutputStream out, boolean measureProgress) throws Exception {
byte[] buf = new byte[5000];
int nread;
int navailable;
int total = 0;
synchronized (in) {
while((nread = in.read(buf, 0, buf.length)) >= 0) {
out.write(buf, 0, nread);
total += nread;
if ((_sp!=null) && (measureProgress)) {
out.flush();
_sp.bytesTransferred(total);
}
}
}
out.flush();
buf = null;
}
Tylko pytanie - jak to poprawic??? Prosze o pomoc.