This code works with the lines uncommented. I just wanted to get some clarity on all these input streams as I am having trouble grasping the concept, so if someone could please help better my below understanding. So what I understand: 1. First, the FileInputStream reads the file in byte form that is put in as the parameter 2. Then, the BufferedReader just reads the data from the file and in combination with the InputStreamReader, the data is converted from bytes into readible data? Like I said, I don't have as good of an understanding as I want to, which is why I'm posting this. Please could someone either confirm or explain what is actually happening in the program. Thank you in advance!