summaryrefslogtreecommitdiff
path: root/libjava/classpath/java/io/File.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/classpath/java/io/File.java')
-rw-r--r--libjava/classpath/java/io/File.java9
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);
}
/**