see InputStream class for descriptions of the methods FileInputStream provides. They are:
available( ) Tells how many bytes can be gotten without blocking.
close( ) Close the stream.
mark( int readAheadLimit ) Mark the present position in the stream.
markSupported( ) Tell whether this stream supports the mark(...) operation.
read( ) Read a single byte, returning it as the low end of an int.
read( byte[ ] b ) Read bytes into a byte array.
read( byte[ ] b, int off, int len) Read bytes into a portion of a byte array.
ready( ) Tell whether this stream is ready to be read.
reset( ) Reset the stream to the beginning.
skip( long n ) Skip characters.
■ FileInputStream is a byte InputStream class which actually reads from files. It is usually wrapped by other I/O classes which do things with the the incoming stream which FileInputStream provides. Here it is wrapped:
import
java.io.*;
try
{
DataInputStream dis = new DataInputStream(
new BufferedInputStream( new FileInputStream("c:\\test.txt")));
while(dis.available( ) != 0)
System.out.print( (char) dis.readByte( )
);
}
catch (IOException io) { }
■ Its constructors will take any of (1) a File object (used in example below), (2) a FileDescriptor object, or (3) a simple String filepathname.
■ This code reads and prints from a text file:
import
java.io.*;
FileInputStream
fis = null;
try { fis = new FileInputStream(new
File("test.txt"));
int c;
while ((c = fis.read( )) != -1)
{
System.out.print(String.valueOf(
(char)c )); // there’s no toString(
) for byte
}
}
catch
(IOException ex) { }
finally
{ try { if (fis != null) fis.close( ); }
catch (IOException ex) { }
}
■ It adds two methods to InputStream:
■ Overrides Object’s method to ensure a file Close
FileDescriptor .getFD(
) method
■ Returns the associated FileDescriptor object for the file in use