У меня есть следующий код. Что я хотел бы сделать, так это прочитать каждую строку из BufferedReader непосредственно в StringBuffer, чтобы уменьшить накладные расходы памяти. Как только он дойдет до конца потока данных, я бы хотел, чтобы он вышел из цикла while.
StringBuffer line = new StringBuffer();
URL url = new URL("a url");
BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream()));
int count = 0;
while(line.append(reader.readLine()) != null){
System.out.println(line.toString());
line.delete(0,line.length());
}
Он отлично читает поток, но когда я дохожу до конца потока, он возвращает ноль и продолжает печатать ноль, не выходя из цикла. Любой
for(String line; (line = reader.readLine()) != null;) { ... }
только для создания ссылок. - person Paul Vargas   schedule 01.02.2013StringBuffer
только для того, чтобы удалить его после распечатки строки. Почему бы просто не распечатать строку напрямую? - person Marc Baumbach   schedule 01.02.2013