Use FileChannel instead of SeekableByteChannel to enable running on Ruboto

SeekableByteChannel was introduced in Java 7, and is not present on Android.

We can use FileChannel instead of SeekableByteChannel and get the same behaviour.  FileChannel has been around since Java 1.4.  It is not ideal, since SeekableByteChannel explains better what is intended, but FileChannel is currently the only implementation of SeekableByteChannel in the Java standard library, so the effect is the same.