次のコードがあります。私がやりたいことは、メモリのオーバーヘッドを減らすために、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());
}
ストリームを正常に読み取りますが、ストリームの最後に到達すると null を返し、ループを終了せずに null を出力し続けます。どれでも