08/09/01 08:04:21
どなたか
>833
の解説をお願いします。
reader.ready() は「次の読み込みがブロックされるかどうか」だけとの事ですので、例えば以下の場合には正常に動作しない場合もあるかと思います。(※クライアントからデータが未送信の場合)
Socket s = serverSocket.accept();
BufferedReader reader = new BufferedReader(new InputStreamReader(s.getInputStream()));
while(reader.ready()) {/* 処理 */}
また、StringReader#ready() は常に true を返したりもします。
このような危険性がありながらなお ready() がセオリーとされる理由を御教示頂けないでしょうか