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.
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.