diff options
Diffstat (limited to 'libjava/classpath/java/io/File.java')
-rw-r--r-- | libjava/classpath/java/io/File.java | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/libjava/classpath/java/io/File.java b/libjava/classpath/java/io/File.java index 3c7ac21301c..43e8e5ded6c 100644 --- a/libjava/classpath/java/io/File.java +++ b/libjava/classpath/java/io/File.java @@ -396,7 +396,8 @@ public class File implements Serializable, Comparable * This method initializes a new <code>File</code> object to represent * a file corresponding to the specified <code>file:</code> protocol URI. * - * @param uri The uri. + * @param uri The URI + * @throws IllegalArgumentException if the URI is not hierarchical */ public File(URI uri) { @@ -406,7 +407,11 @@ public class File implements Serializable, Comparable if (!uri.getScheme().equals("file")) throw new IllegalArgumentException("invalid uri protocol"); - path = normalizePath(uri.getPath()); + String name = uri.getPath(); + if (name == null) + throw new IllegalArgumentException("URI \"" + uri + + "\" is not hierarchical"); + path = normalizePath(name); } /** |