OSDN Git Service

Merged gcj-eclipse branch to trunk.
[pf3gnuchains/gcc-fork.git] / libjava / classpath / java / io / RandomAccessFile.java
index 84ee5de..036fc8c 100644 (file)
@@ -38,7 +38,7 @@ exception statement from your version. */
 
 package java.io;
 
-import gnu.java.nio.channels.FileChannelImpl;
+import gnu.java.nio.FileChannelImpl;
 
 import java.nio.channels.FileChannel;
 
@@ -58,7 +58,7 @@ import java.nio.channels.FileChannel;
  * @author Aaron M. Renn (arenn@urbanophile.com)
  * @author Tom Tromey (tromey@cygnus.com)
  */
-public class RandomAccessFile implements DataOutput, DataInput
+public class RandomAccessFile implements DataOutput, DataInput, Closeable
 {
 
   // The underlying file.
@@ -122,7 +122,20 @@ public class RandomAccessFile implements DataOutput, DataInput
           s.checkWrite(fileName);
       }
 
-    ch = FileChannelImpl.create(file, fdmode);
+    try
+      {
+        ch = FileChannelImpl.create(file, fdmode);
+      }
+    catch (FileNotFoundException fnfe)
+      {
+        throw fnfe;
+      }
+    catch (IOException ioe)
+      {
+        FileNotFoundException fnfe = new FileNotFoundException(file.getPath());
+        fnfe.initCause(ioe);
+        throw fnfe;
+      }
     fd = new FileDescriptor(ch);
     if ((fdmode & FileChannelImpl.WRITE) != 0)
       out = new DataOutputStream (new FileOutputStream (fd));