По какой-то причине следующий код не работает в 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 (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)
Linux (Linux 2.6.32-38-generic # 83-Ubuntu x86_64GNU / 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)
На основе этот приведенный выше код должен работать.