Java URL(“file://”)在Windows XP上不起作用

问题描述:

出于某种原因,以下代码在Windows XP上不起作用。Java URL(“file://”)在Windows XP上不起作用

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

我正在使用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) 

然而,同样的代码只是正常工作在OS X(狮子)和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-通用#83 Ubuntu的x86_64的GNU/Linux的)与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) 

基于this上述代码应该工作。

+0

根据我的记忆,您可能需要在Windows上使用file:///符号。尝试一下,看看它是否有效。 – mcfinnigan 2012-03-30 11:30:37

File.toURI()。toURL()有什么问题?为什么重新发明*?

本地主机上的URL看起来像:

file:///Folder 

非常重要的第三个斜杠...

在Windows文件夹的样子:

file:///C:/path/ 

下面的代码应避免所有的麻烦

new File(tempfile.getAbsolutePath()).toURI().toURL()