From cff5cdc83d920e0ea10209a764649c6abc011804 Mon Sep 17 00:00:00 2001 From: Michael Koch Date: Sat, 21 Jun 2003 17:06:56 +0000 Subject: [PATCH] 2003-06-21 Michael Koch * java/io/File.java (static): Load javaio lib if existing (only in classpath). (File): Revised documentation to show the correct argument name. (createTempFile): Partly merged with classpath. (compareTo): Simplified. (lastModified): Throw exception if time < 0. (deleteOnExit): Revised documentation. From-SVN: r68310 --- libjava/ChangeLog | 10 ++++++++ libjava/java/io/File.java | 48 +++++++++++++++++++++++---------------- 2 files changed, 38 insertions(+), 20 deletions(-) diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 2386d53a01b..6d6ad1701ff 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,13 @@ +2003-06-21 Michael Koch + + * java/io/File.java + (static): Load javaio lib if existing (only in classpath). + (File): Revised documentation to show the correct argument name. + (createTempFile): Partly merged with classpath. + (compareTo): Simplified. + (lastModified): Throw exception if time < 0. + (deleteOnExit): Revised documentation. + 2003-06-21 Michael Koch * java/net/PlainSocketImpl.java: diff --git a/libjava/java/io/File.java b/libjava/java/io/File.java index da0a9c55f11..ba18a596c2a 100644 --- a/libjava/java/io/File.java +++ b/libjava/java/io/File.java @@ -40,6 +40,7 @@ package java.io; import java.net.MalformedURLException; import java.net.URL; +import gnu.classpath.Configuration; import gnu.gcj.runtime.FileDeleter; /* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3 @@ -111,7 +112,6 @@ public class File implements Serializable, Comparable */ public static final char pathSeparatorChar = pathSeparator.charAt(0); - static final String tmpdir = System.getProperty("java.io.tmpdir"); static int maxPathLen; static boolean caseSensitive; @@ -119,7 +119,12 @@ public class File implements Serializable, Comparable static { - init_native(); + if (Configuration.INIT_LOAD_LIBRARY) + { + System.loadLibrary ("javaio"); + } + + init_native (); } // Native function called at class initialization. This should should @@ -345,7 +350,7 @@ public class File implements Serializable, Comparable * name. If the directory path name ends in the separator string, another * separator string will still be appended. * - * @param dirname The path to the directory the file resides in + * @param dirPath The path to the directory the file resides in * @param name The name of the file */ public File (String dirPath, String name) @@ -711,7 +716,6 @@ public class File implements Serializable, Comparable * This native function actually produces the list of file in this * directory */ - private final native Object[] performList (FilenameFilter filter, FileFilter fileFilter, Class result_type); @@ -984,21 +988,21 @@ public class File implements Serializable, Comparable // Grab the system temp directory if necessary if (directory == null) { - String dirname = tmpdir; - if (dirname == null) - throw - new IOException ("Cannot determine system temporary directory"); + String dirname = tmpdir; + if (dirname == null) + throw new IOException ("Cannot determine system temporary directory"); - directory = new File (dirname); - if (!directory.exists ()) - throw new IOException ("System temporary directory " - + directory.getName() + " does not exist."); - if (!directory.isDirectory()) - throw new IOException ("System temporary directory " - + directory.getName() - + " is not really a directory."); + directory = new File (dirname); + if (!directory.exists ()) + throw new IOException ("System temporary directory " + + directory.getName () + " does not exist."); + if (!directory.isDirectory ()) + throw new IOException ("System temporary directory " + + directory.getName () + + " is not really a directory."); } + // Now process the prefix and suffix. if (prefix.length () < 3) throw new IllegalArgumentException ("Prefix too short: " + prefix); @@ -1162,7 +1166,7 @@ public class File implements Serializable, Comparable * * @since 1.2 */ - public int compareTo(File other) + public int compareTo (File other) { if (caseSensitive) return path.compareTo (other.path); @@ -1191,10 +1195,9 @@ public class File implements Serializable, Comparable * * @since 1.2 */ - public int compareTo(Object o) + public int compareTo (Object obj) { - File other = (File) o; - return compareTo (other); + return compareTo ((File) obj); } /* @@ -1250,6 +1253,9 @@ public class File implements Serializable, Comparable */ public boolean setLastModified (long time) { + if (time < 0) + throw new IllegalArgumentException("Negative modification time: " + time); + checkWrite (); return performSetLastModified(time); } @@ -1276,6 +1282,8 @@ public class File implements Serializable, Comparable * Add this File to the set of files to be deleted upon normal * termination. * + * @exception SecurityException If deleting of the file is not allowed + * * @since 1.2 */ // FIXME: This should use the ShutdownHook API once we implement that.