la primera respuesta que te dieron es la mas entendible analisala muy bien el resto para empezar te va acomplicar mucho...
primero tienes que saber lo basico
y entender que para alguna determinada aplicacion se necesitan entornos de trabajo para asi entenderlo mejor
el bufferreader captura interaccion con el usuario
por lo que posterior a instanciar este buffer se habla de un try y un cash
donde se entiende al ingles -1 los errores y
excepciones
aplica google para saber mas yo no me acuerdo muxo xD