我想将HTTP请求的响应写到一个文件。但是,我希望将响应流式传输到物理文件,而不是等待加载整个响应。
实际上,我将向JHAT服务器发出一个请求,以返回转储中的所有字符串。我的浏览器在响应完成之前挂起,因为有70k这样的对象,我想把它们写到一个文件中,这样我就可以扫描了。
提前谢谢你,
发布于 2012-07-30 00:23:51
从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);
}
https://stackoverflow.com/questions/11710683
复制相似问题