title: How comes .array() doesn't work on ByteBuffers returned from map'ed FileChannels?
body: <p>I'm doing memory-mapped IO in Java.  The FileChannel class allows you to map a ByteBuffer to a particular part of a file. I'm doing that with a file opened read only.</p>
  
  <p>The problem I am having is that I'm getting an exception when I attempt to call the .array() method on the resulting ByteBuffer. Perhaps that's because the .array() returns a byte[] array, and I really want a finalized byte array? </p>
  
  <p>Is there any way around this?</p>