Chapter 17 Binary I/O
Section 17.2 How is I/O Handled in Java?
1. Which of the following statements are true?
a. A File object encapsulates the properties of a file or a path, but does not contain the methods for reading/writing.
b. You can use the PrintWriter class for outputting text to a file.
c. You can use the Scanner class for reading text from a file.
d. An input object is also called an input stream.
e. An output object is also called an output stream.
Section 17.3 Text I/O vs. Binary I/O
2. Which of the following statements are true?
a. Text I/O is built upon binary I/O to provide a level of abstraction for character encoding and decoding.
b. Text I/O involves encoding and decoding.
c. Binary I/O does not require conversions.
d. Binary I/O is more efficient than text I/O, because binary I/O does not require encoding and decoding.
e. Binary files are independent of the encoding scheme on the host machine and thus are portable.
Section 17.4 Binary I/O Classes
3. Which method can you use to find out the number of the bytes in a file using InputStream?
a. length()
b. available()
c. size()
d. getSize()
#
Section 17.4.1 FileInputStream/FileOutputStream
4. Which of the following statements are true?
a. All methods in FileInputStream/FileOutputStream are inherited from InputStream/OutputStream.
b. You can create a FileInputStream/FileOutputStream from a File object or a file name using
FileInputStream/FileOutputStream constructors.
c. The return value –1 from the read() method signifies the end of file.
d. A java.io.FileNotFoundException would occur if you attempt to create a FileInputStream with a nonexistent file.
e. A java.io.FileNotFoundException would occur if you attempt to create a FileOutputStream with a nonexistent file.
#
5. To append data to an existing file, use to construct a FileOutputStream for file out.dat.
a. new FileOutputStream(“out.dat”)
b. new FileOutputStream(“out.dat”, false)
c. new FileOutputStream(“out.dat”, true)
d. new FileOutputStream(true, “out.dat”)
#
6. What does the following code do?
FileInputStream fis = new FileInputStream(“test.dat”);