Java URL ("file: //") does not work in Windows XP

For some reason, the following code does not work on Windows XP.

new URL("file://" + tempfile.getAbsolutePath()); 

I am using Java 1.6.

 Java(TM) SE Runtime Environment (build 1.6.0_31-b05) Java HotSpot(TM) Client VM (build 20.6-b01, mixed mode, sharing) 

However, the same code just works fine in OS X (Lion) and Java 1.6

 java version "1.6.0_29" Java(TM) SE Runtime Environment (build 1.6.0_29-b11-402-11M3527) Java HotSpot(TM) 64-Bit Server VM (build 20.4-b02-402, mixed mode) 

Linux (Linux 2.6.32-38-generi # 83-Ubuntu x86_64 GNU / Linux) with Java 1.6

 java version "1.6.0_26" Java(TM) SE Runtime Environment (build 1.6.0_26-b03) Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode) 

Based on this , the above code should work.

+7
source share
3 answers

What is the problem with File.toURI (). toURL ()? Why reinvent the wheel?

+15
source

On the local host, the URL looks like this:

 file:///Folder 

The third slash is very important ...

On Windows, the folder looks like this:

 file:///C:/path/ 
+14
source

The following code should avoid all troubles

 new File(tempfile.getAbsolutePath()).toURI().toURL() 
+5
source

All Articles