Gary Benson wrote:
Hi Jeroen,
Hey, interesting. You'd have to override more methods than that
though, I think. Maybe the best solution would be to override in
gnu.java.nio.channels.FileChannelImpl and create a FileOutputStream
with that as its argument.
I'll have a proper think about it when I change the exception
messages. I'm deep in something else at the moment.
Cheers,
Gary
Jeroen Frijters wrote:
Hi Gary,
Sorry for the late response, but a somewhat easier (and more efficient)
way to fix the problem would have been:
+ if ((fdmode & FileChannelImpl.WRITE) != 0)
+ out = new DataOutputStream (new FileOutputStream (fd));
+ else
+ out = new DataOutputStream (new FilterOutputStream() {
+ public void write(int b) throws IOException {
+ throw new IOException("Bad file descriptor");
+ }
+ });
I think that this is a good approach. There is a small typo in the else
clause. The anonymous inner class would extend OutputStream.
An alternative would be to take the inner class and make it a public
class in gnu.java.io.??? that could be used in other similar situations.
Its constructor could take a String parameter which would be the
exception message.
David Daney.
_______________________________________________
Classpath-patches mailing list
Classpath-patches@gnu.org
http://lists.gnu.org/mailman/listinfo/classpath-patches