Java OCA OCP Practice Question 505

Question

What is the result of attempting to compile and execute the following code fragment?

Assume that the code fragment is part of an application that has write permission in the current working directory.

Also assume that before execution, the current working directory does not contain a file called datafile.

 1. try { /*from w  ww  . j a va  2 s  .  co m*/
 2.   RandomAccessFile raf = new 
 3.     RandomAccessFile("datafile" ,"rw"); 
 4.   BufferedOutputStream bos = new 
 5.     BufferedOutputStream(raf); 
 6.   DataOutputStream dos = new 
 7.     DataOutputStream(bos); 
 8.   dos.writeDouble(Math.PI); 
 9.   dos.close(); 
10.   bos.close(); 
11.   raf.close(); 
12. } 
13. catch (IOException e) { } 
  • A. The code fails to compile.
  • B. The code compiles but throws an exception at line 4.
  • C. The code compiles and executes but has no effect on the local file system.
  • D. The code compiles and executes; afterward, the current working directory contains a file called datafile.


A.

Note

Compilation fails at lines 4 and 5, because there is no constructor for BufferedOutputStream that takes a RandomAccessFile object as a parameter.

You can be sure of this even if you are not familiar with buffered output streams, because random-access files are completely incompatible with the stream/reader/writer model.




PreviousNext

Related