beside these you can also use datainputstream etc.
Now BufferedReader Read text from a character-input stream, buffering characters so as to provide for the efficient reading of characters, arrays, and lines. The buffer size may be specified, or the default size may be used. The default is large enough for most purposes.
Where Scanner is a simple text scanner which can parse primitive types and strings using regular expressions. A Scanner breaks its input into tokens using a delimiter pattern, which by default matches whitespace. The resulting tokens may then be converted into values of different types using the various next methods. Scanner is used for parsing tokens from the contents of the stream while BufferedReader just reads the stream and does not do any special parsing.
also check the below link it will surely help you.......
http://www.javawebtips.com/50474/
System.console().readLine("Enter input: ")
is a bit simpler to use thanscanner
and it also allows you to specify an input prompt message. But it might not work properly in some IDEs – Demarcation