Given:
3. import java.io.*; 4. public class Main { 5. public static void main(String[] args) { 6. String s;/*from w w w .ja v a 2 s. com*/ 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?
A. ab/* w w w.j a v a2 s. c o m*/ B. abcd C. ab cd D. a b c d E. Compilation fails
P:E is correct.
You need to call flush()
only when you're writing data.
Readers don't have flush()
methods.
If not for the call to flush()
, answer C would be correct.