Sous OS X, j'essaie d'obtenir quelque chose .exec, mais lorsqu'un chemin contient un espace, cela ne fonctionne pas. J'ai essayé d'entourer le chemin de guillemets, d'échapper à l'espace, et même d'utiliser \ u0020.Les espaces dans Java exécutent le chemin d'accès pour OS X
Par exemple, cela fonctionne:
Runtime.getRuntime().exec("open /foldername/toast.sh");
Mais s'il y a un espace, aucun de ces travaux:
Runtime.getRuntime().exec("open /folder name/toast.sh");
Runtime.getRuntime().exec("open \"/folder name/toast.sh\"");
Runtime.getRuntime().exec("open /folder\\ name/toast.sh");
Runtime.getRuntime().exec("open /folder\u0020name/toast.sh");
Idées?
Éditer: barre oblique inverse échappée ... toujours pas de travail.
Merci! Pour info j'ai eu quelques drapeaux supplémentaires dans le vrai programme et si vous utilisez un tableau comme celui-ci, vous devez alors tout casser. Exemple: String [] args = new Chaîne [] {"open", "-n", "nom du dossier/toast.sh"}; – Alan
Lien mort maintenant :(quelqu'un sait où je peux trouver un lien de remplacement? – Joe