我目前陷入了Android问题。在一个循环中,我从包含递增 id ( sensor
) 的 URL 中读取。如果达到最大值,则循环结束(IOException
因为错误 500)。我的问题涉及BufferedReader
. 如果我指定大小(例如 8k),我不能读取超过这些 8k,尽管BufferedReader
在循环的每次运行中都会重新创建(使用不同的 uri)并且我读取的每个文件只包含一行(<8k)。
如果我省略 size 参数,一切正常,但我会收到类似“使用默认缓冲区大小。最好是明确的......”的警告。我究竟做错了什么?这是我的代码:
sensor = 0;
while (true) {
try {
// adapt uri
BufferedReader in = new BufferedReader(
new InputStreamReader(uri.resolve(String.valueOf(sensor))
.toURL().openStream()), 8*1024);
// read from url
s = in.readLine();
in.close();
} catch (IOException e) {
break;
}
... // do something with s
sensor++;
}