Managing Input/Output Files in Java
The DataInputStream class
|• Is part of the java.io package|
|• Is an extension of the FilterInputStream class (a superclass that facilitates the chaining of high-level and low-level input streams)|
|• Is a high-level class that can be used to read primitive values and UTF ("Unicode Transformation Format") strings from a stream|
|• Has a single constructor that "chains" to an object that descends from the InputStream class (such as a FileInputStream object). For example, if fd is the reference of a File object|
|DataInputStream in = new DataInputStream(new FileInputStream(fd));|
|It will construct a DataInputStream object chained to a FileInputStream object for reading primitive values and UTF strings from the file. Because a checked, IOException may occur, the statement should be enclosed in a try block with an appropriate catch.|
|• Has many useful methods as follows:|
|Because a checked, IOException may occur, calls to these methods should be enclosed in a try block with an appropriate catch. Consult the Java API documentation for more details.|
|• Example. The following program can be used to read a file of double values from disk. It can be used to display the values stored by the previous sample program.|
public class App
public static void main(String args)
// Local variables and object references.
// Get the path name from the user.
System.out.print("Enter the file's complete path name: ");
fd = new File(Keyboard.readString());
// Try to read data from the input stream.
// Open an input stream for the file.
in = new DataInputStream(new FileInputStream(fd));
// This loop reads a double value from the stream and displays
// it. The loop ends when end of file is reached.
catch (EOFException e)
// Close the stream.
System.out.println("Closed - " + fd.getPath());
// Catch an IOException if one is thrown.
catch (IOException e)