java.awt.Desktop.open no funciona con archivos PDF?

Parece que no puedo usar Desktop.open () en archivos PDF sin importar la ubicación. Aquí hay un pequeño programa de prueba:

package com.example.bugs;

import java.awt.Desktop;
import java.io.File;
import java.io.IOException;

public class DesktopOpenBug {
    static public void main(String[] args)
    {
        try {
            Desktop desktop = null;
            // Before more Desktop API is used, first check 
            // whether the API is supported by this particular 
            // virtual machine (VM) on this particular host.
            if (Desktop.isDesktopSupported()) {
                desktop = Desktop.getDesktop();
                for (String path : args)
                {
                    File file = new File(path);
                    System.out.println("Opening "+file);
                    desktop.open(file);
                }
            }           
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Si ejecuto DesktopOpenBug con argumentosc:\tmp\zz1.txt c:\tmp\zz.xml c:\tmp\ss.pdf (3 archivos que tengo por ahí) Recibo este resultado: (los archivos .txt y .xml se abren bien)

Opening c:\tmp\zz1.txt
Opening c:\tmp\zz.xml
Opening c:\tmp\ss.pdf
java.io.IOException: Failed to open file:/c:/tmp/ss.pdf. Error message:
    The parameter is incorrect.

at sun.awt.windows.WDesktopPeer.ShellExecute(Unknown Source)
at sun.awt.windows.WDesktopPeer.open(Unknown Source)
at java.awt.Desktop.open(Unknown Source)
at com.example.bugs.DesktopOpenBug.main(DesktopOpenBug.java:21)

¿Qué diablos está pasando? Estoy ejecutando WinXP, puedo escribir "c: \ tmp \ ss.pdf" en el símbolo del sistema y se abre muy bien.

editar: si este es un ejemplo deSun Java bug # 6764271 por favor ayuda votando por ello. Que dolor. > :(

Respuestas a la pregunta(2)

Su respuesta a la pregunta