我正在尝试使用BufferedReader通过 URL 上的 InputStreamReader 从 Web 文档中读取文本(到某些 Apache 服务器上的文件)。
String result = "";
URL url = new URL("http://someserver.domain/somefile");
BufferedReader in = null;
in = new BufferedReader(new InputStreamReader(url.openStream(), "iso-8859-1"));
result += in.readLine();
现在这工作得很好。但很明显,我希望读者不要只阅读一行,而是尽可能多地阅读文件中的内容。
查看 BufferedReader API,以下代码应该可以做到这一点:
while (in.ready()) {
result += in.readLine();
}
即在有更多行时阅读所有行,当没有更多行时停止。但是,此代码不起作用-读者只是从不报告ready() = true!
我什至可以在读取一行(从文件中读取正确的字符串)之前打印 ready() 值,但阅读器会报告“ false ”。
难道我做错了什么?为什么 BufferedReader在实际有要读取的内容时返回“ false ”?