Per my knowledge the buffered reader is way optimized than non buffered as each read will be done from memory , no need for I/O read/write from disk/network each time.
So I was reading the answers here :
Specific difference between bufferedreader and filereader
I got confused by the second answer which seems to have high votes :
When the "read" instruction is given to the BufferedReader object, it uses the FileReader object to read the data from the file. When an instruction is given, the FileReader object reads 2 (or 4) bytes at a time and returns the data to the BufferedReader and the reader keeps doing that until it hits '\n' or '\r\n' (The end of the line symbol). Once a line is buffered, the reader waits patiently, until the instruction to buffer the next line is given.
is that correct ? I would think we lost the whole idea about buffer reader, if the buffer need to do multiple 2 bytes read then I can just use the file reader and can use that too. The idea in buffered reader it should read large block at a time so the number of I/O access will be much less than file reader.
can anyone correct me if I'm wrong ?