Java : Fichier.tour().toURL() sur le fichier Windows

Le système que je suis en cours d'exécution sur Windows XP, avec le JRE 1.6.

Je fais ceci :

public static void main(String[] args) {
    try {
        System.out.println(new File("C:\\test a.xml").toURI().toURL());
    } catch (Exception e) {
        e.printStackTrace();
    }       
}

et j'obtiens ceci : file:/C:/test%20a.xml

Comment se fait-l'URL n'a pas de deux barres obliques en avant de la C: ? Je m'attendais à file://C:.... Est-ce un comportement normal?


EDIT :

De code source Java : java.net.URLStreamHandler.toExternalForm(URL)

    result.append(":");
    if (u.getAuthority() != null && u.getAuthority().length() > 0) {
        result.append("//");
        result.append(u.getAuthority());
    }

Il semble que l'Autorité de la partie d'une URL de fichier est null ou vide, et donc la double barre oblique est ignorée. Alors, quelle est l'autorité de la partie de l'URL et est-il vraiment absent du fichier de protocole?

J'espère vraiment que vous mettre des espaces avant {s...
La version de Windows êtes-vous sur? En fait n'a pas d'importance si vous pouvez l'analyser de retour avec la nouvelle URL(String).
eh bien, c'questions si je suis de l'analyse du résultat à autre chose que l'URL(String), ce qui je ne.
De manière amusante, la javadoc de java.net.URL fait toujours référence à l'original NCSA Mosaic pages d'aide, qui, sans surprise, est un lien mort. Je pense que je pourrais remplir un rapport de bogue....
pas moi, mais une autre bibliothèque.

OriginalL'auteur glmxndr | 2009-07-15