Chemen d'acces d'un fichier

Résolu
cs_mohaaaaa Messages postés 10 Date d'inscription vendredi 16 juillet 2004 Statut Membre Dernière intervention 19 août 2004 - 19 août 2004 à 16:57
Thanos3 Messages postés 7 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 21 août 2004 - 21 août 2004 à 14:42
voilà, j'ait rouve un code pr ouvrir un fichier :

Properties sys = System.getProperties();
String os = sys.getProperty("os.name");
Runtime r = Runtime.getRuntime();
System.out.println(os);
try
{
if (os.endsWith("NT")||os.endsWith("2000")||os.endsWith("XP"))
r.exec("cmd /c start d:\\Mes documents\\IESN\\Troisième\\Java\\Deuxième sesse\\ProjetJava\\Enonce.pdf");
else
r.exec("start "D:\\Mes%20documents\\IESN\\Troisième\\Java\\Deuxième%20sesse\\ProjetJava\\Enonce.pdf"");
}
catch (IOException ex)
{
JOptionPane.showMessageDialog(null, "ERREUR ==> Impossible d'ouvrir le fichier d'aide", "ERREUR", JOptionPane.ERROR_MESSAGE);
}

Le code fonctionne sans probleme mais le chemin d'accès est refuse. C'est surment du aux espaces.
Mais je sais ne sais pas comment faire pour ke ce cheminb soit accepte avec les espaces...
Comment faire???????

Merci beaucoup

2 réponses

JBAware Messages postés 174 Date d'inscription lundi 23 septembre 2002 Statut Membre Dernière intervention 6 avril 2011 1
19 août 2004 à 21:17
Salut,

A mon avis utilise plutôt "/" que "\" car tu demandes au systeme d'executer une commande qui est donnée par la jvm. c'est le systeme qui va lire la string et non la jvm.

Néanmoins tu as raisons les espaces poses problemes donc c'est à ce moment que tu vas utiliser les "" pour le guillemets

ecris tes chemins ainsi :
d:/"Mes documents"/IESN/Troisième/Java/"Deuxième sesse"/ProjetJava/Enonce.pdf"

8-) JB@WAre
3
Thanos3 Messages postés 7 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 21 août 2004
21 août 2004 à 14:42
Salut,
Si tu veux que ton appli marche sur d'autre OS, utilise :
File.separator au lieu de "/" car c'est la JVM qui va te renvoyer la bonne chaine (sous Linux \ , sous win /).
0
Rejoignez-nous