I have started coding, and having looked at ShapeIndexedGridCoverageReader and then looking at the superclass I see that
the source is passed in as a derivation of InputStream.  Unless I am mistaken the classes in the shape file packages for IO use RandomAccessFile for input, whereas RandomAccessFile is separate to InputStream so I can't use it as the source for ShapeIndexedGridCoverageReader.
Also I guess I will need the location of the associated dbf and shx files, can I presume the source will be a FileInputStream.  I could rewrite the shape IO routines?  I was thinking of using the FileChannels (in NIO, java 1.4, http://java.sun.com/j2se/1.4.2/docs/guide/nio/) mapping the file and thus removing the dependency on RandomAccessFile?
Let me know what you think.
Many thanks,
Norman Barker