From 0fc920c8d5c613361270c60ecd4841e3af7f6a62 Mon Sep 17 00:00:00 2001 From: Michael Koch Date: Tue, 20 Apr 2004 13:43:35 +0000 Subject: [multiple changes] 2004-04-20 Jeroen Frijters * java/io/FileDescriptor.java: (FileDescriptor) Added public constructor. (valid) Added null check. 2004-04-20 Guilhem Lavaux Reported by Nektarios Papadopoulos * java/io/FileOutputStream.java (FileOutputStream) Reorganized constructors. Constructors now check whether the given path is directory. From-SVN: r80901 --- libjava/java/io/FileOutputStream.java | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'libjava/java/io/FileOutputStream.java') diff --git a/libjava/java/io/FileOutputStream.java b/libjava/java/io/FileOutputStream.java index a8c4b76..8942871 100644 --- a/libjava/java/io/FileOutputStream.java +++ b/libjava/java/io/FileOutputStream.java @@ -81,13 +81,7 @@ public class FileOutputStream extends OutputStream public FileOutputStream (String path, boolean append) throws SecurityException, FileNotFoundException { - SecurityManager s = System.getSecurityManager(); - if (s != null) - s.checkWrite(path); - ch = new FileChannelImpl (path, (append - ? FileChannelImpl.WRITE - | FileChannelImpl.APPEND - : FileChannelImpl.WRITE)); + this (new File(path), append); } /** @@ -130,7 +124,7 @@ public class FileOutputStream extends OutputStream public FileOutputStream (File file) throws SecurityException, FileNotFoundException { - this (file.getPath(), false); + this (file, false); } /** @@ -156,7 +150,17 @@ public class FileOutputStream extends OutputStream public FileOutputStream (File file, boolean append) throws FileNotFoundException { - this (file.getPath(), append); + SecurityManager s = System.getSecurityManager(); + if (s != null) + s.checkWrite(file.getPath()); + + if (file.isDirectory()) + throw new FileNotFoundException(file.getPath() + " is a directory"); + + ch = new FileChannelImpl (file.getPath(), (append + ? FileChannelImpl.WRITE + | FileChannelImpl.APPEND + : FileChannelImpl.WRITE)); } /** -- cgit v1.1