Updating existing JDK code to use InputStream.transferTo() (original) (raw)
Pavel Rappo pavel.rappo at oracle.com
Wed May 13 21:58:42 UTC 2015
- Previous message: Updating existing JDK code to use InputStream.transferTo()
- Next message: Updating existing JDK code to use InputStream.transferTo()
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Remi,
The other reason to have read that returns 0 is if the underlying channel is in non-blocking mode. A read on an InputStream created by Channels.newInputStream on a SelectableChannel may return 0 and the code will go in a loop until the SelectableChannel can read something. while(read() > 0) avoid that issue.
It doesn't seem possible as far as I can see. We have 2 methods in java.nio.channels.Channels:
newInputStream(java.nio.channels.ReadableByteChannel) newInputStream(java.nio.channels.AsynchronousByteChannel)
Neither ReadableByteChannel nor AsynchronousByteChannel is SelectableChannel.
Sorry, I might be missing something. Anyway, it would be a misbehaving InputStream as it doesn't conform to the spec.
- Previous message: Updating existing JDK code to use InputStream.transferTo()
- Next message: Updating existing JDK code to use InputStream.transferTo()
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]