It's an online example:

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

=========
Why is BufferedReader is taking InputStreamReader(System.in) as argument? What is actually happening? I know some C++ and PHP, so I don't really understand what is going on.