는 HTTP 스트림에서 제한된 양의 데이터를 읽고 파일 스트림에 씁니다. 모든 데이터가 처리 될 때까지이 작업을 수행하십시오.
다음은 원리를 보여주는 코드 예입니다. 이 예제에서는 어떤 I/O 오류도 다루지 않습니다. 한 번에 한 바이트 씩 처리하는 것보다 빠른 8KB 버퍼를 선택했으나 각 반복 동안 RAM으로 가져온 데이터의 양을 여전히 제한했습니다.
final URL url = new URL("http://example.com/");
final InputStream istream = url.openStream();
final OutputStream ostream = new FileOutputStream("/tmp/data.txt");
final byte[] buffer = new byte[1024*8];
while (true) {
final int len = istream.read(buffer);
if (len <= 0) {
break;
}
ostream.write(buffer, 0, len);
}
출처
2012-07-29 16:23:50
dsh