Bonjour à tous.

Je veux ouvrir une page html locale grâce au navigateur par défaut en récupérant le répertoire courant ("user.name") et en concaténant le chemin où se trouve ce fichier.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
 
    /**
     * Chemin d'accès à l'aide
     */
    protected static final String HELP_PATH = "file://"
            + StringUtils.replace(System.getProperty("user.dir"), "\\", "/")
            + "/NetHelp/default.htm";
 
    /**
     * Ouvre le fichier d'aide
     */
    protected void openHelp() {
        try {
            if (System.getProperty("os.name").startsWith("Mac OS")) {
                Runtime.getRuntime().exec(HELP_PATH);
            } else {
                Runtime.getRuntime()
                        .exec(
                                "rundll32 SHELL32.DLL,ShellExec_RunDLL "
                                        + formatedPath);
            }
        } catch (IOException e) {...}
    }
tout allait bien tant que le tout s'exécute dans un répertoire du genre c:\eclipse\workspace\MonProjet
Mais s'il existe un espace dans le chemin (typiquement c:\Program Files\MonProjet), là patatra, le chemin est tronqué et le message qui apparaît est :
"impossible d'ouvrir le fichier c:\program" (sic)

à priori, l'espace sépare mon paramètre en deux paramètres distincts, donc le chemin n'est pas pris en compte entièrement...
j'ai essayé avec des ' et des " mais cela ne fonctionne pas mieux

si quelqu'un connaît une méthode plus "propre" pour ouvrir un fichier htm, je suis preneur...

Merci.