As far I know, the two most common methods of reading character-based data from a file in Java is using Scanner
or BufferedReader
. I also know that the BufferedReader
reads files efficiently by using a buffer to avoid physical disk operations.
My questions are:
- Does
Scanner
perform as well asBufferedReader
? - Why would you choose
Scanner
overBufferedReader
or vice versa?
Best Answer
Scanner
is used for parsing tokens from the contents of the stream whileBufferedReader
just reads the stream and does not do any special parsing.In fact you can pass a
BufferedReader
to ascanner
as the source of characters to parse.