07/04/02 05:14:53
>>43
たぶん、前者はFileReader#read()(InputStreamReader#read())で読み込んで、
後者はBufferedReader#readLine()で読み込んでるんだろうけど、
それぞれのメソッドがストリーム終端で何を返すかは、
それを使う者が使い分けるというよりも、メソッドごとに決まってるからとしか言いようがない。
read()の方は一文字ずつ読み込んで、その文字を返すメソッドなので、
通常の文字ではありえない-1をストリーム終端で返すようにしているんだろうし、
readLine()の方は1行分をStringで返すメソッドだから-1を返すわけにいかないし、
未定義のインスタンスを表すnullを返すようになっているんだと思うが。