The reason why you are only reading the first line is your while loop. You read the line in then what happens? Loop through it until i reaches 3? Try putting that line variable inside the while declaration. You will see a whole lot of lines read.
. . . while (i < 3 && (line = myReader.nextLine()) != null) . . .
Where are you reading the line? You only appear to read one line once. You will have to read it again. Using conventional forms of loops will tend to reduce errors, because the conventional forms have been tried millions of times before and seen to work correctly.