java.io.File

Jeroen Frijters jeroen@sumatra.nl
Thu Jul 22 11:48:00 GMT 2004


Hi,
I just merged libgcj's Windows support in java.io.File to Classpath's
java.io.File and I noticed two small bugs. Attached is a patch for
gcc/libjava/java/io/File.java that adds support for "\c:" style paths to
normalizePath.
The second issue is a bit subtle. The native Win32 implementation of
getCanonicalPath, will resolve a relative file based on the current
Win32 directory, not the user.dir Java system property. Here's what I
ended up doing:
 public String getCanonicalPath() throws IOException
 {
 // On Windows, getAbsolutePath might end up calling us, so we
 // have to special case that call to avoid infinite recursion.
 if (separatorChar == '\\' && path.length() == 2 &&
	((path.charAt(0) >= 'a' && path.charAt(0) <= 'z') ||
	 (path.charAt(0) >= 'A' && path.charAt(0) <= 'Z')) &&
	path.charAt(1) == ':')
 {
	return VMFile.toCanonicalForm(path);
 }
 // Call getAbsolutePath first to make sure that we do the
 // current directory handling, because the native code
 // may have a different idea of the current directory.
 return VMFile.toCanonicalForm(getAbsolutePath());
 }
Regards,
Jeroen
-------------- next part --------------
A non-text attachment was scrubbed...
Name: libgcj.file.patch
Type: application/octet-stream
Size: 945 bytes
Desc: libgcj.file.patch
URL: <http://gcc.gnu.org/pipermail/java/attachments/20040722/df1bca4b/attachment.obj>


More information about the Java mailing list

AltStyle によって変換されたページ (->オリジナル) /