aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/io
diff options
context:
space:
mode:
authorDalibor Topic <robilad@kaffe.org>2005-04-29 18:47:42 +0000
committerMichael Koch <mkoch@gcc.gnu.org>2005-04-29 18:47:42 +0000
commitb61ae8b2611643a3f7005680573e4f13dcf9ef23 (patch)
treea633006bbff08f9d9c68b140ddd9e2656e06ec70 /libjava/java/io
parent2c80f015490c820ec71549975d6276b41ed9ae4c (diff)
downloadgcc-b61ae8b2611643a3f7005680573e4f13dcf9ef23.zip
gcc-b61ae8b2611643a3f7005680573e4f13dcf9ef23.tar.gz
gcc-b61ae8b2611643a3f7005680573e4f13dcf9ef23.tar.bz2
2005-04-29 Dalibor Topic <robilad@kaffe.org>
* java/nio/channels/FileChannelImpl.java (FileChannelImpl(String, int)): Removed. (FileChannelImpl(File, int)): Added. Check if opened file is a directory. * java/io/FileInputStream.java(FileInputStream): Fixed javadocs. Call FileChannelImpl(File, int). * java/io/FileOutputStream.java (FileInputStream): Call FileChannelImpl(File, int). * java/io/RandomAccessFile.java (RandomAccessFile): Call FileChannelImpl(File, int). Switched constructors around. From-SVN: r99011
Diffstat (limited to 'libjava/java/io')
-rw-r--r--libjava/java/io/FileInputStream.java8
-rw-r--r--libjava/java/io/FileOutputStream.java8
-rw-r--r--libjava/java/io/RandomAccessFile.java62
3 files changed, 42 insertions, 36 deletions
diff --git a/libjava/java/io/FileInputStream.java b/libjava/java/io/FileInputStream.java
index ebd5d20..c719955 100644
--- a/libjava/java/io/FileInputStream.java
+++ b/libjava/java/io/FileInputStream.java
@@ -76,7 +76,8 @@ public class FileInputStream extends InputStream
* @param name The name of the file this stream should read from
*
* @exception SecurityException If read access to the file is not allowed
- * @exception FileNotFoundException If the file does not exist.
+ * @exception FileNotFoundException If the file does not exist
+ * or if it is a directory
*/
public FileInputStream(String name) throws FileNotFoundException
{
@@ -97,7 +98,8 @@ public class FileInputStream extends InputStream
* @param file The <code>File</code> object this stream should read from
*
* @exception SecurityException If read access to the file is not allowed
- * @exception FileNotFoundException If the file does not exist.
+ * @exception FileNotFoundException If the file does not exist
+ * or if it is a directory.
*/
public FileInputStream(File file) throws FileNotFoundException
{
@@ -105,7 +107,7 @@ public class FileInputStream extends InputStream
if (s != null)
s.checkRead(file.getPath());
- ch = new FileChannelImpl (file.getPath(), FileChannelImpl.READ);
+ ch = new FileChannelImpl (file, FileChannelImpl.READ);
}
/**
diff --git a/libjava/java/io/FileOutputStream.java b/libjava/java/io/FileOutputStream.java
index d5fa2d3..e878442 100644
--- a/libjava/java/io/FileOutputStream.java
+++ b/libjava/java/io/FileOutputStream.java
@@ -155,10 +155,10 @@ public class FileOutputStream extends OutputStream
if (s != null)
s.checkWrite(file.getPath());
- ch = new FileChannelImpl (file.getPath(), (append
- ? FileChannelImpl.WRITE
- | FileChannelImpl.APPEND
- : FileChannelImpl.WRITE));
+ ch = new FileChannelImpl (file, (append
+ ? FileChannelImpl.WRITE
+ | FileChannelImpl.APPEND
+ : FileChannelImpl.WRITE));
}
/**
diff --git a/libjava/java/io/RandomAccessFile.java b/libjava/java/io/RandomAccessFile.java
index c23ca3a..ef36794 100644
--- a/libjava/java/io/RandomAccessFile.java
+++ b/libjava/java/io/RandomAccessFile.java
@@ -86,38 +86,12 @@ public class RandomAccessFile implements DataOutput, DataInput
* illegal value
* @exception SecurityException If the requested access to the file
* is not allowed
- * @exception IOException If any other error occurs
+ * @exception FileNotFoundException If the file is a directory, or
+ * any other error occurs
*/
public RandomAccessFile (File file, String mode)
throws FileNotFoundException
{
- this (file.getPath(), mode);
- }
-
- /**
- * This method initializes a new instance of <code>RandomAccessFile</code>
- * to read from the specified file name with the specified access mode.
- * The access mode is either "r" for read only access, "rw" for read
- * write access, "rws" for synchronized read/write access of both
- * content and metadata, or "rwd" for read/write access
- * where only content is required to be synchronous.
- * <p>
- * Note that a <code>SecurityManager</code> check is made prior to
- * opening the file to determine whether or not this file is allowed to
- * be read or written.
- *
- * @param fileName The name of the file to read and/or write
- * @param mode "r", "rw", "rws", or "rwd"
- *
- * @exception IllegalArgumentException If <code>mode</code> has an
- * illegal value
- * @exception SecurityException If the requested access to the file
- * is not allowed
- * @exception FileNotFoundException If any other error occurs
- */
- public RandomAccessFile (String fileName, String mode)
- throws FileNotFoundException
- {
int fdmode;
if (mode.equals("r"))
fdmode = FileChannelImpl.READ;
@@ -136,6 +110,8 @@ public class RandomAccessFile implements DataOutput, DataInput
else
throw new IllegalArgumentException ("invalid mode: " + mode);
+ final String fileName = file.getPath();
+
// The obligatory SecurityManager stuff
SecurityManager s = System.getSecurityManager();
if (s != null)
@@ -146,13 +122,41 @@ public class RandomAccessFile implements DataOutput, DataInput
s.checkWrite(fileName);
}
- ch = new FileChannelImpl (fileName, fdmode);
+ ch = new FileChannelImpl (file, fdmode);
fd = new FileDescriptor(ch);
out = new DataOutputStream (new FileOutputStream (fd));
in = new DataInputStream (new FileInputStream (fd));
}
/**
+ * This method initializes a new instance of <code>RandomAccessFile</code>
+ * to read from the specified file name with the specified access mode.
+ * The access mode is either "r" for read only access, "rw" for read
+ * write access, "rws" for synchronized read/write access of both
+ * content and metadata, or "rwd" for read/write access
+ * where only content is required to be synchronous.
+ * <p>
+ * Note that a <code>SecurityManager</code> check is made prior to
+ * opening the file to determine whether or not this file is allowed to
+ * be read or written.
+ *
+ * @param fileName The name of the file to read and/or write
+ * @param mode "r", "rw", "rws", or "rwd"
+ *
+ * @exception IllegalArgumentException If <code>mode</code> has an
+ * illegal value
+ * @exception SecurityException If the requested access to the file
+ * is not allowed
+ * @exception FileNotFoundException If the file is a directory or
+ * any other error occurs
+ */
+ public RandomAccessFile (String fileName, String mode)
+ throws FileNotFoundException
+ {
+ this (new File(fileName), mode);
+ }
+
+ /**
* This method closes the file and frees up all file related system
* resources. Since most operating systems put a limit on how many files
* may be opened at any given time, it is a good idea to close all files