How to get FileChannel from resource (original) (raw)

Alan Bateman Alan.Bateman at Sun.COM
Mon Mar 2 13🔞31 UTC 2009


Ulf Zibis wrote:

Sherman, yes, you are right. That's not what I'm looking for.

This would be slower, than reading the stream directly, because the underlying byte array will be copied 2 times by BufferedInputStream# + Channels.ReadableByteChannelImpl#read(), ... but maybe not, because looping BufferedInputStream#readChar() could be slower than twice System.arraycopy(). Anyway, I'm looking for a DirectBuffer directly from a resource file. So I think there is something missing: URL.openChannel() or Class#getResourceAsChannel() Maybe there is a way to get a RamdomAccessFile from URL to get the Channel from. Anybody knows ? A URL just identifies an abstract resource so it may not support random access or other file-like operations you require. Have you thought about special handling for when the scheme is "file"? That way you can get the FileChannel you want for the typical case.

-Alan



More information about the core-libs-dev mailing list