File Java Tutorial

For faster reading you should use BufferedInputStream to wrap any InputStream.
BufferedInputStream has two constructors that accept an InputStream:

public BufferedInputStream(InputStream in)
public BufferedInput Stream (Input Stream in, int bufferSize)
For example, the following code wraps a FileInputStream with a BufferedInputStream.

FileInputStream fis = new FileInputStream(aFile);
BufferedInputStream bis = new BufferedInputStream (fis);
Then, instead of calling the methods on fis, work with the BufferedInputStream bis.