0
Я пытаюсь читать rss-канал, но получаю ниже ошибку при попытке прочитать из BufferedReader.java.io.EOFException: n не найден, при чтении из BufferedReader
Error stack trace [screenshot]
Ниже приводится метод, который читает и преобразующие RSS Feed
private String downloadXML(String urlPath){
StringBuilder xml = new StringBuilder();
try {
URL url = new URL(urlPath);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
int responseCode = connection.getResponseCode();
Log.d(TAG, "downloadXML: The response code was " + responseCode);
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
int charRead;
char [] bufferRead = new char[500];
while (true){
charRead = reader.read(bufferRead);
if(charRead<0){
break;
}
if(charRead>0){
xml.append(String.copyValueOf(bufferRead, 0, charRead));
}
}
reader.close();
return xml.toString();
}
catch (MalformedURLException e){
Log.e(TAG, "downloadXML: Invalid URL " + e.getMessage());
}
catch (IOException e){
Log.e(TAG, "downloadXML: IO exception " + e.getMessage());
e.printStackTrace();
}
catch (SecurityException e) {
Log.e(TAG, "downloadXML: SecurityEception " + e.getMessage());
}
return null;
}
Line 62 charRead = reader.read(bufferRead);
Любая помощь будет оценена.
попытаться изменить 'while (true)' with 'while (reader.readLine()! = Null)' –
Я пробовал, но получал ту же ошибку. –
Попробуйте изменить номер строки: от 10 до 22 с помощью этого кода 'String str; while ((str = reader.readLine())! = Null) { xml.append (str); } reader.close(); ' –