This week's book giveaways are in the Scala and Android forums. We're giving away four copies each of Machine Learning Systems: Designs that scale and Xamarin in Action: Creating native cross-platform mobile apps and have the authors on-line! See this thread and this one for details.
Precisely, BufferedReader's constructor requires a Reader object. Now, in your case the FileReader is used for reading simple character files while InputStreamReader converts the byte input streams into characters.