Chapter 10 File I/O – absolute java test bank
Download file with the answers
Chapter 10 File I/O - absolute java test bank
1 file(s) 98.28 KB
Not a member!
Create a FREE account here to get access and download this file with answers
Chapter 10
File I/O
Multiple Choice
1) An ___________ allows data to flow into your program.
(a) input stream
(b) output stream
(c) file name
(d) all of the above
2) An ____________ allows data to flow from your program.
(a) input stream
(b) output stream
(c) file name
(d) all of the above
3) Files whose contents must be handled as sequences of binary digits are called:
(a) text files
(b) ASCII files
(c) binary files
(d) output files
4) The output stream connected to the computer screen is:
(a) System.exit
(b) System.quit
(c) System.in
(d) System.out
5) In Java, when you open a text file you should account for a possible:
(a) FileNotFoundException
(b) FileFullException
(c) FileNotReadyException
(d) all of the above
6) There are two common classes used for reading from a text file. They are:
(a) PrintWriter and BufferedReader
(b) FileInputStream and Scanner
(c) BufferedReader and Scanner
(d) None of the above
7) The scanner class has a series of methods that checks to see if there is any more well-formed input of the appropriate type. These methods are called __________ methods:
(a) nextToken
(b) hasNext
(c) getNext
(d) testNext
8) All of the following are methods of the Scanner class except:
(a) nextFloat()
(b) next()
(c) useDelimiter()
(d) readLine()
9) The method _________ reads a single character from an input stream.
(a) readLine()
(b) skip()
(c) read()
(d) close()
10) When the method readLine() tries to read beyond the end of a file, it returns the value of:
(a) 1
(b) -1
(c) null
(d) none of the above
11) A __________ path name gives the path to a file, starting with the directory that the program is in.
(a) relative
(b) descendant
(c) full
(d) complete
12) The stream that is automatically available to your Java code is:
(a) System.out
(b) System.in
(c) System.err
(d) all of the above
13) All of the following are methods of the File class except:
(a) exists()
(b) delete()
(c) getDirectory()
(d) getName()
14) The class ObjectOutputStream contains all of the following methods except:
(a) writeInt()
(b) writeChar()
(c) writeDouble()
(d) println()
15) The method __________ from the File class forces a physical write to the file of any data that is buffered.
(a) close()
(b) flush()
(c) writeUTF()
(d) writeObject()
16) The class ObjectInputStream contains all of the following methods except:
(a) readLine()
(b) readChar()
(c) readObject()
(d) readInt()
17) The read() method of the class RandomAccessFile returns the type:
(a) byte
(b) int
(c) char
(d) double
True/False
1) A stream is an object that allows for the flow of data between your program and some I/O device or some file.
2) Every input file and every output file used by your program has only one name which is the same name used by the operating system.
3) The FileNotFoundException is a descendant of the class IOException.
4) When your program is finished writing to a file, it should close the stream connected to that file.
5) Only the classes provided for file output contain a method named close.
6) The methods of the scanner class do not behave the same when reading from a text file as they do when used to read from the keyboard.
7) Using BufferedReader to read integers from a file requires the String input to be parsed to an integer type.
8) A full path name gives a complete path name, starting from the directory the program is in.
9) The File class contains methods that allow you to check various properties of a file.
10) Binary files store data in the same format that is used by any common text editor.
11) Binary files can be handled more efficiently than text files.
12) The preferred stream classes for processing binary files are ObjectInputStream and ObjectOutputStream.
Short Answer/Essay
1) Explain the differences between a text file, an ASCII file and a binary file.
Answer: Text files are files that appear to contain sequences of characters when viewed in a text editor or read by a program. Text files are sometimes also called ASCII files because they contain data encoded using a scheme known as ASCII coding. Files whose contents must be handled as sequences of binary digits are called binary files.
2) Write a Java statement to create and open an output stream to a file named autos.txt.
Answer: PrintWriter outputStream = new PrintWriter(new FileOutputStream(“autos.txt”));
3) Explain what happens when an output file is opened in Java.
Answer: In Java, when an output stream is connected to a file, the program always starts with an empty file. If the file you are trying to connect to exists, the contents of the file are deleted before the output stream writes new data to the file. If the file you are trying to connect to does not exist, then a new empty file is created.
4) Write a Java method that returns a String representing a file name entered by the user. Use the BufferedReader class to obtain input.
Answer:
public static String getFileName() throws IOException
{
BufferedReader stdin = new BufferedReader(new
InputStreamReader(System.in));
System.out.print(“Enter the name of the file to open: “);
String fileName = stdin.readLine();
return fileName.trim();
}
5) Use the output stream to the file autos.txt created above in number 2 to write the line “Mercedes” to the file.
Answer: outputStream.println(“Mercedes”);
6) What happens when the method close is invoked on a stream?
Answer: When the close method is invoked, the system releases any resources used to connect the stream to the file and does any other housekeeping that is needed.
7) Create try and catch block that opens a file named statistics.txt for output. Writes the integers 24, 55, and 76 to the file, and then closes the file.
Answer:
PrintWriter outputStream = null;
try
{
outputStream = new PrintWriter(new
FileOutputStream(“statistics.txt”));
outputStream.println(24);
outputStream.println(55);
outputStream.println(76);
outputStream.close();
}
catch(FileNotFoundException e)
{
System.out.println(“Error opening the file autos.txt”);
System.exit(0);
}
8) Write a Java statement that creates an output stream to append data to a file named autos.txt.
Answer: PrintWriter outputStream = new PrintWriter(new FileOutputStream(“autos.txt”, true));
9) Write a Java statement to create an input stream to a file named autos.txt. Use the BufferedReader class.
Answer: BufferedReader inputStream = new BufferedReader(new FileReader(“autos.txt”));
10) Write a complete Java program using a BufferedReader object that opens a file named autos.txt and displays each line to the screen.
Answer:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileNotFoundException;
import java.io.IOException;
public class TextDemo
{
public static void main(String args[])
{
BufferedReader inputStream = null;
try
{
inputStream = new BufferedReader(new FileReader(“autos.txt”));
String line = inputStream.readLine();
while(line != null)
{
System.out.println(line);
line = inputStream.readLine();
}
inputStream.close();
}
catch(FileNotFoundException e)
{
System.out.println(“Error opening files.”);
}
catch(IOException e)
{
System.out.println(“Error reading from file.”);
}
}
}
11) Write a Java statement that creates an output stream to a binary file named statistics.dat.
Answer:
ObjectOutputStream outputStream =
new ObjectOutputStream(new FileOutputStream(“statistics.dat”));
12) Use the output stream created in number 11 above to write the String BBC to the file named statistics.dat.
Answer: outputStream.writeUTF(“BBC”);
13) Write a Java statement to create an input stream to the binary file statistics.dat.
Answer:
ObjectInputStream inputStream =
new ObjectInputStream(new FileInputStream(“statistics.dat”));
14) Write a complete Java program that opens a binary file containing integers and displays the contents to the screen.
Answer:
import java.io.ObjectInputStream;
import java.io.FileInputStream;
import java.io.EOFException;
import java.io.IOException;
import java.io.FileNotFoundException;
public class BinaryInputDemo
{
public static void main(String args[])
{
try
{
ObjectInputStream inputStream =
new ObjectInputStream(new
FileInputStream(“statistics.dat”));
int stat = 0;
try
{
while(true)
{
stat = inputStream.readInt();
System.out.println(stat);
}
}
catch(EOFException e)
{
System.out.println(“End of file encountered”);
}
inputStream.close();
}
catch(FileNotFoundException e)
{
System.out.println(“Unable to locate file”);
}
catch(IOException e)
{
System.out.println(“Unable to read file”);
}
}
}
15) Write a Java statement that creates a stream that provides read/write access to the file named autos.txt.
Answer: RandomAccessFile ioStream = new RandomAccessFile(“autos.txt”, “rw”);
16) Write a Java statement to create an input stream to a file named “statistics.dat”.
Answer: Scanner inputStream = new Scanner(new FileReader(“statistics.dat”));
17) Write a complete Java program using a Scanner object that opens a file named autos.txt and displays each line to the screen.
Answer:
import java.util.*;
import java.io.FileReader;
import java.io.FileNotFoundException;
public class TextDemo
{
public static void main(String args[])
{
Scanner inputStream = null;
try
{
inputStream = new Scanner(new FileReader(“autos.txt”));
String line = inputStream.nextLine();
while(line != null)
{
System.out.println(line);
line = inputStream.nextLine();
}
inputStream.close();
}
catch(FileNotFoundException e)
{
System.out.println(“Error opening files.”);
}
}
}
Leave a reply