Bonjour à tous,

J'utilise la classe Desktop pour ouvrir le navigateur par défaut (comme dans la FAQ). L'URL a ouvrir est celle d'un fichier local. Je procède de la sorte:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
if (Desktop.isDesktopSupported()) {
    Desktop desktop = Desktop.getDesktop();
    if (desktop.isSupported(Desktop.Action.BROWSE)) {
        try {
            desktop.browse(new File("myFile.html").toURI());
        } catch (IOException ioe) {
            ioe.printStackTrace();
        }
    }
}
Plusieurs problèmes:
  • tel quel, le navigateur ne s'ouvre pas... Il me faut faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    desktop.browse(
        new URI(new File("myFile.html").getAbsolutePath().replaceAll("\\\\", "/")));
  • si le chemin du fichier à ouvrir contient un espace, j'ai une URISyntaxException (normal). Sauf que pour palier à ce problème, je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    desktop.browse(
        new URI(new File("my file.html").toURI().toString().replaceAll("\\\\", "/")));
    Et là, j'ai droit à:
    java.io.IOException: Failed to open "bla/bla/my%20file.html" Error message: Le fichier spécifié est introuvable.


Je vois pas trop ce qui cloche. Si quelqu'un a déjà rencontré ces problèmes, ou si quelqu'un a un tuyau pour corriger ça, merci d'avance du coup de main
Gueritarish