1. try{
2. RandomAccessFile raf = new RandomAccessFile("datafile","rw");
3. BufferedOutputStream bos = new BufferedOutputStream(raf);
4. DataOutputStream dos = new DataOutputStream(bos);
5. dos.writeDouble(Math.PI);
6. dos.close();
7. bos.close();
8. raf.close();
9. } catch(IOException e){}
A. The code fails to compile.
B. The code compiles , but throws an exception at line 3.
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.
Answer:A is correct. Compilation fails at line 3, 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.