Я пытаюсь прочитать текст из веб-документа с помощью BufferedReader через InputStreamReader по URL-адресу (к файлу на некоторых Сервер 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();
Теперь это работает нормально. Но, очевидно, я бы хотел, чтобы читатель прочитал не одну строку, а столько, сколько есть в файле.
Глядя на API BufferedReader, следующий код должен делать именно это:
while (in.ready()) {
result += in.readLine();
}
Т.е. читать все строки, пока есть другие строки, останавливаться, когда строк больше нет. Однако этот код не работает - читатель просто never сообщает ready () = true !
Я даже могу распечатать значение ready () прямо перед чтением строки (которая читает правильная строка из файла), но читатель сообщит « false ».
Я что-то делаю не так? Почему BufferedReader возвращает " false " при готовности, когда действительно есть что читать?