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

Sou*_*nta 10 java url windows-xp file path

由于某种原因,以下代码在Windows XP上不起作用.

new URL("file://" + tempfile.getAbsolutePath());
Run Code Online (Sandbox Code Playgroud)

我正在使用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)
Run Code Online (Sandbox Code Playgroud)

但是,相同的代码在OS X(Lion)和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)
Run Code Online (Sandbox Code Playgroud)

使用Java 1.6的Linux(Linux 2.6.32-38-generic#83-Ubuntu x86_64 GNU/Linux)

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)
Run Code Online (Sandbox Code Playgroud)

基于,上面的代码应该可行.

khm*_*ise 21

在localhost上,URL如下所示:

file:///Folder
Run Code Online (Sandbox Code Playgroud)

非常重要的第三次斜线......

在Windows上,文件夹看起来像:

file:///C:/path/
Run Code Online (Sandbox Code Playgroud)


Con*_*Del 17

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


gra*_*ito 7

以下代码应避免所有麻烦

new File(tempfile.getAbsolutePath()).toURI().toURL()
Run Code Online (Sandbox Code Playgroud)