Bonjour,
Je dois faire un petit applet Java capable d'ouvrir un fichier avec une application.
Sous Windows, je ne rencontre pas de problème.
En revanche, sous Mac, après de nombreux essais divers et variés, je n'arrive pas à ouvrir le fichier.
Plus précisément, s'il y a des espaces dans le nom du fichier, rien ne se passe. Et ça fonctionne s'il n'y a pas d'espaces.
Par exemple:
LanceAppli("open /Volumes/Dossier/BonjourLeMonde.txt") fonctionne.
LanceAppli("open /Volumes/Dossier/Bonjour Le Monde.txt") ne fonctionne pas (c'est d'ailleurs un peu normal).
J'ai bien évidemment essayé de mettre des guillemets un peu partout:
LanceAppli("open '/Volumes/Dossier/Bonjour Le Monde.txt'") ne fonctionne pas.
LanceAppli("open ""/Volumes/Dossier/Bonjour Le Monde.txt""") ne fonctionne pas.
Et des '\' d'échappement pourtant fonctionnels dans le Terminal de Mac OS X:
LanceAppli("open /Volumes/Dossier/Bonjour\ Le\ Monde.txt") ne fonctionne pas.
Ce que je ne comprends pas, c'est que je stocke toute la commande à lancer (open + nom du fichier) dans une variable que j'affiche via un Trace() juste avant l’exécution. Si je copie la ligne de Trace et que je la colle dans un terminal, le programme s'ouvre comme il faut.
De plus, LanceAppli() n'échoue pas (je vérifie son retour), donc le "open" est bien exécute, mais le nom du fichier ne doit pas lui être passé correctement (donc il ne fait rien).
Il doit y avoir un petit truc auquel je n'ai pas pensé. Ou quelque chose que je dois mal faire. Je sens l'erreur bête...
Est-ce que quelqu'un aurait une idée de comment résoudre ce problème?
Partager