diff options
author | Michael Koch <konqueror@gmx.de> | 2003-12-19 19:06:34 +0000 |
---|---|---|
committer | Michael Koch <mkoch@gcc.gnu.org> | 2003-12-19 19:06:34 +0000 |
commit | 26392535a78d2e396cff24391be6f4920c632e2b (patch) | |
tree | 54f8b26f344082df0e145f4f3cb044e281a93bf5 /libjava/java | |
parent | cc16f8b948be00bdbac8af00a388a25a53da901f (diff) | |
download | gcc-26392535a78d2e396cff24391be6f4920c632e2b.zip gcc-26392535a78d2e396cff24391be6f4920c632e2b.tar.gz gcc-26392535a78d2e396cff24391be6f4920c632e2b.tar.bz2 |
ChannelInputStream.java: New file.
2003-12-19 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/ChannelInputStream.java: New file.
* java/nio/channels/Channels.java (newInputStream): Implemented.
* java/nio/channels/FileChannelImpl.java
(readImpl): Only put data into buffer if something was read.
* Makefile.am (ordinary_java_source_files):
Added gnu/java/nio/ChannelInputStream.java.
* Makefile.in: Regenerated.
From-SVN: r74842
Diffstat (limited to 'libjava/java')
-rw-r--r-- | libjava/java/nio/channels/Channels.java | 5 | ||||
-rw-r--r-- | libjava/java/nio/channels/FileChannelImpl.java | 4 |
2 files changed, 6 insertions, 3 deletions
diff --git a/libjava/java/nio/channels/Channels.java b/libjava/java/nio/channels/Channels.java index f8358ae..d70410c 100644 --- a/libjava/java/nio/channels/Channels.java +++ b/libjava/java/nio/channels/Channels.java @@ -37,6 +37,7 @@ exception statement from your version. */ package java.nio.channels; +import gnu.java.nio.ChannelInputStream; import gnu.java.nio.InputStreamChannel; import gnu.java.nio.OutputStreamChannel; import java.io.InputStream; @@ -55,9 +56,9 @@ public final class Channels /** * Constructs a stream that reads bytes from the given channel. */ - public static InputStream newInputStream (ReadableByteChannel ch) + public static InputStream newInputStream(ReadableByteChannel ch) { - throw new Error ("not implemented"); + return new ChannelInputStream(ch); } /** diff --git a/libjava/java/nio/channels/FileChannelImpl.java b/libjava/java/nio/channels/FileChannelImpl.java index a14a7e1..89ac11a 100644 --- a/libjava/java/nio/channels/FileChannelImpl.java +++ b/libjava/java/nio/channels/FileChannelImpl.java @@ -169,7 +169,9 @@ public class FileChannelImpl extends FileChannel byte[] buffer = new byte [dst.remaining ()]; result = implRead (buffer, 0, buffer.length); - dst.put (buffer, 0, result); + + if (result > 0) + dst.put (buffer, 0, result); return result; } |