J'ai utilisé le code suivant pour ouvrir Office Documents, PDF, etc. sur mes machines Windows en utilisant Java et ça marche bien, sauf pour une raison quand un nom de fichier l'a intégré dans plusieurs espaces contigus comme "File [SPACE] ] [ESPACE] Test.doc ".Meilleur moyen d'ouvrir un document à partir de Java?
Comment est-ce que je peux faire ce travail? Je ne suis pas opposé à la mise en conserve de tout le code ... mais je préfère ne pas le remplacer par une bibliothèque tierce qui appelle JNI.
public static void openDocument(String path) throws IOException {
// Make forward slashes backslashes (for windows)
// Double quote any path segments with spaces in them
path = path.replace("/", "\\").replaceAll(
"\\\\([^\\\\\\\\\"]* [^\\\\\\\\\"]*)", "\\\\\\\"$1\"");
String command = "C:\\Windows\\System32\\cmd.exe /c start " + path + "";
Runtime.getRuntime().exec(command);
}
EDIT: Quand je lance avec les fenêtres de fichiers errantes se plaint de trouver le fichier. Mais ... quand j'exécute la ligne de commande directement à partir de la ligne de commande, ça marche très bien.
Fonctionne comme un charme. Merci. –