Multiple choice technology web technology

Given: 3. import java.io.*; 4. public class ReadingFor { 5. public static void main(String[] args) { 6. String s; 7. try { 8. FileReader fr = new FileReader("myfile.txt"); 9. BufferedReader br = new BufferedReader(fr); 10. while((s = br.readLine()) != null) 11. System.out.println(s); 12. br.flush(); 13. } catch (IOException e) { System.out.println("io error"); } 16. } 17. } And given that myfile.txt contains the following two lines of data: ab cd What is the result?

  1. ab

  2. abcd

  3. ab cd

  4. a b c D

  5. Compilation fails

Reveal answer Fill a bubble to check yourself
E Correct answer
Explanation

The variable s is declared inside the try block but used in the while condition. However, s is not properly initialized or assigned before use. More critically, br.flush() is called on BufferedReader which doesn't have a flush() method - only the underlying Writer does. This causes compilation failure.