I know that:
Parsing is the process of turning some kind of data into another kind of data.
But then I also came across this difference between Scanner
and BufferedReader
:
BufferedReader is faster than Scanner because BufferedReader does not need to parse the data.
So my question is how is using Scanner
slower than using BufferedReader
if I am reading just text file (plain characters) and I am not doing any parsing? Is there any parsing I am not aware of?
Or from following code perspective, how is here Scanner
slower because of parsing than using BufferedReader
?
//1
BufferedReader bufferedReader = new BufferedReader(new FileReader("xanadu.txt"));
System.out.println(bufferedReader.readLine());
//2
Scanner scanner = new Scanner(new FileReader("xanadu.txt"));
scanner.useDelimiter("\n");
System.out.println(scanner.next());
I don't understand quote how Scanner
is slower because of parsing, when I am technically not parsing any data..