[java] probleme de "chemin" d'un fichier

Fermé
john_matrix Messages postés 443 Date d'inscription dimanche 4 septembre 2005 Statut Membre Dernière intervention 19 avril 2008 - 19 mai 2006 à 16:55
Mycki Messages postés 113 Date d'inscription jeudi 8 novembre 2007 Statut Membre Dernière intervention 17 décembre 2007 - 27 nov. 2007 à 18:07
bonjour voila je suis en train de faire un programme (une gestion de dvd) en java et j'ai fai plusieur test pour lancer a partir de mon programme un film avec windows media player
voici la commande:
try {
Runtime.getRuntime().exec("wmplayer.exe /prefetch:1 C:\\repertoire\\film.avi")
}
catch (IOException t) { }

Ceci marche parfaitement (je met les \\ parce que un seul ne marche pas (caratere reservé).
par contre si je fai ca:
try {
Runtime.getRuntime().exec("wmplayer.exe /prefetch:1 C:\\Documents and Settings\\film.avi")
}
catch (IOException t) { }
Il me dit que le film n'est pa au bon format ce qui n'a rien a voir c le meme film que j'ai placer dans document and setting.

Je me suis rendu compte que ce serai parce qu'il y a un espace dans le "chemin" specifié (Documents and setting
je crois que le probleme vien de la. Si j'enleve ces espaces ca me dis que le chemin specifié es introuvable ce qui es normal.
j'ai essayer d'autre soltion mais en vain...

Si quelqu'un a deja eu ce probleme ou c'est comment le resoudre merci de me le signaler
a bientot
A voir également:

14 réponses

arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
19 mai 2006 à 17:44
ouaip guy j'ai ce problème en ce moment aussi pour lancer des applis dans le program files mais en fait je me suis fait un laucher en c et que je lance avec java. Sinon normalement j'ai testé plusieurs trucs, et dans ton cas tu dois mettre le chemin

Runtime.getRuntime().exec("wmplayer.exe /prefetch:1 C:\\docume~1\\film.avi") ;

en fait je me suis souvenu du dos ou parfois tu avais ,quand tu listais ,le program files en progra~1 et hier j'ai testé un "cd C:\progra~1" et cette commande fonctionne bien. en gros quand tu as ce probleme d'espace, tu prends les 6 premieres lettres du repertoire concerné et tu rajoutes le "~1" derrière.

Mais bon quand le repertoire s'appelle HP ITO avec lespace dans les 6 premieres lettres la ca devient chaud : ) et j'ai pas trouvé la solution.

Voila j'espère que cela répond à ton problème.
4
sinon en regardant dans la doc java on trouve une fonction Runtime.getRuntime().exec(String[] command),
donc il suffit d'utiliser :
Runtime.getRuntime().exec(new String[] { "monappli", "un paramètre avec des espaces"} );

pour cet exemple : exec(new String[] { "wmplayer.exe /prefetch:1", "C:\\Documents and Settings\\film.avi" } );

et hop ça devrait le faire
3
Mycki Messages postés 113 Date d'inscription jeudi 8 novembre 2007 Statut Membre Dernière intervention 17 décembre 2007 46
27 nov. 2007 à 18:07
Pour faire court, un chemin en java s'écrit et se lit comme suit :

Pour spécifier un chemin vers le pc local c'est à dire vers les disques ou dossiers du pc, écrire : "C:\\Program Files\\Nouveau dossier\\etc.etc".

Si vous voulez vous referer à l'adresse d'un réseau faites : \\\\Reseau\\dossier\\fichier.ext

Voila
3
Encadre ton chemin entre guillemets :
"C:\\Documents and Settings\\film.avi"

Ca marchera et ca évite la magouille de remplacement bizarre que j'ai pu lire
2

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
19 mai 2006 à 19:47
non il est vrai ca marche que si le nom du rep est d'au moins 6 lettres au départ et qu'il y a un blanc au milieu.Sinon pas besoin de ca si par exemple le repertoire est MASTERING . la tu peux le mettre complet. pour le "mes documents", je vais chercher.
1
john_matrix Messages postés 443 Date d'inscription dimanche 4 septembre 2005 Statut Membre Dernière intervention 19 avril 2008 33
20 mai 2006 à 14:36
pour mes documents ca donne mesdoc~1
je viens de faire une sorte d'algorithme qui converti ma chaine (url) en chaine au format 8.3
mai le probleme ke ca marche pa pour tou
exemple:
ma musique ==> mamusi~1 ok
mes videos==> mesvid~1 a priori mais la ca marche pas
Si tu trouve un truc qui esplik comment ca marche ca serai bien
merci bye
1
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
20 mai 2006 à 14:45
bah je viens de tester a l'instant et ca me l'ouvre le dossier mes videos du dossier mes documents lol ca c'est bizarre
1
john_matrix Messages postés 443 Date d'inscription dimanche 4 septembre 2005 Statut Membre Dernière intervention 19 avril 2008 33
19 mai 2006 à 17:53
ok merci je vais voir ce que je peu faire
0
john_matrix Messages postés 443 Date d'inscription dimanche 4 septembre 2005 Statut Membre Dernière intervention 19 avril 2008 33
19 mai 2006 à 18:04
Et pour faire ton lauch en c comment tu fai?
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
19 mai 2006 à 18:30
bah pour ton java tel que tu le donnes ca doit marcher.

après le prog c c'est car j'avais des soucis pour lancer les applis direct en java. mais en fin de compte cest bon ca marche sans sauf si j'essaie de lancer la console windows ou une console telnet. Mais sinon pour les applis tout va bien.
0
john_matrix Messages postés 443 Date d'inscription dimanche 4 septembre 2005 Statut Membre Dernière intervention 19 avril 2008 33
19 mai 2006 à 19:29
ouai mais comme tu a di pas pour tout les nom des repertoire
exemple c:\\docume~1\\fab\\mes document
la ca coince donc il serai interessant de pouvoir convertir un nom long en format court 8.3
mais commen faire?
0
john_matrix Messages postés 443 Date d'inscription dimanche 4 septembre 2005 Statut Membre Dernière intervention 19 avril 2008 33
20 mai 2006 à 15:52
je croi savoir ce que cc'est
en fait mon dossier mes doc (celui par defaut) je l'avais effacer
et maintenant je les recreer.
c'est peu etre pour ca que ca marche pas.
ca dois peuetre se faire au demarrage de l'ordinateur.(les noms de fchiers format 3.8).
Si je pouvais avoir une fonction ou une classe en java qui me les convertisse ca serai bien.
0
Je pense que pour les espaces dans les chemins de fichier, un '\ ' devrait suffire (ou un '/ ', je ne sais plus) plutot que l'espace tout seul.
0
Il suffit de mettre à chaque que le nom de ton repertoire contient des espaces entre guilemets.
sinon il ne le reconnaitra pas.je veux dire juste le dossier par exemple le document and...
salut
0