aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/io/FileOutputStream.java
diff options
context:
space:
mode:
authorMichael Koch <konqueror@gmx.de>2003-03-20 07:54:24 +0000
committerMichael Koch <mkoch@gcc.gnu.org>2003-03-20 07:54:24 +0000
commit10b33028a2a620bc2864fc8f939072599762a1e2 (patch)
treec99af8765e9410ed162e184496445f198dee0afc /libjava/java/io/FileOutputStream.java
parent04b3370bfd9d028ee9f048ca76bc25bbd2a86c88 (diff)
downloadgcc-10b33028a2a620bc2864fc8f939072599762a1e2.zip
gcc-10b33028a2a620bc2864fc8f939072599762a1e2.tar.gz
gcc-10b33028a2a620bc2864fc8f939072599762a1e2.tar.bz2
2003-03-20 Michael Koch <konqueror@gmx.de>
* java/io/FileInputStream.java (getChannel): New implementation. * java/io/FileOutputStream.java (ch): New member variable. (getChannel): Implemented. * java/io/RandomAccessFile.java (RandomAccessFile): Throws FileNotFoundException instead of IOException. (getChannel): New method. (ch): New member variable. From-SVN: r64609
Diffstat (limited to 'libjava/java/io/FileOutputStream.java')
-rw-r--r--libjava/java/io/FileOutputStream.java16
1 files changed, 12 insertions, 4 deletions
diff --git a/libjava/java/io/FileOutputStream.java b/libjava/java/io/FileOutputStream.java
index 1154a4b..eaf4d9b 100644
--- a/libjava/java/io/FileOutputStream.java
+++ b/libjava/java/io/FileOutputStream.java
@@ -39,6 +39,7 @@ exception statement from your version. */
package java.io;
import java.nio.channels.FileChannel;
+import gnu.java.nio.FileChannelImpl;
/**
* @author Tom Tromey <tromey@cygnus.com>
@@ -147,11 +148,18 @@ public class FileOutputStream extends OutputStream
fd.close();
}
- // Instance variables.
- private FileDescriptor fd;
-
public FileChannel getChannel ()
{
- return null;
+ synchronized (this)
+ {
+ if (ch == null)
+ ch = new FileChannelImpl (fd, true, this);
+
+ return ch;
+ }
}
+
+ // Instance variables.
+ private FileDescriptor fd;
+ private FileChannel ch;
}