Probleme java (listeRoots) aidez moi svp
Résolu
fouzou11
Messages postés
140
Date d'inscription
Statut
Membre
Dernière intervention
-
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
J'ai fais un programme qui affiche les disque fixes et amovible avec listRoots() mais le probleme c'est que sous windows 7 ca marche parfaitement mais sous ubuntu il m'affiche que le disque fixe ":\ " donc je vous demande s'il y a un methode qui affiche les disque amovible disponible pour resoudre le probleme .
J'ai fais un programme qui affiche les disque fixes et amovible avec listRoots() mais le probleme c'est que sous windows 7 ca marche parfaitement mais sous ubuntu il m'affiche que le disque fixe ":\ " donc je vous demande s'il y a un methode qui affiche les disque amovible disponible pour resoudre le probleme .
A voir également:
- Probleme java (listeRoots) aidez moi svp
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
1 réponse
Le fonctionnement de Linux est différent de celui de Windows.
Lorsqu'il y a une distinction entre C: D: etc... sur l'un, pour l'autre ce ne sont que des fichiers qui sont dans /media /dev /mnt... c'est à dire que la racine est bien /
En fait la méthode listRoots permet d'identifier quel est le plus haut niveau de fichier lorsque l'on fait "enregistrer sous", il me semble d'ailleurs que sous Windows ce n'est pas C:\ mais plutôt Bureau (car dans Bureau on a Ordinateur puis C:\ D:\ etc)
Donc ton erreur n'en est pas vraiment une, ça ne fait pas ce que tu veux mais il n'y a pas de miracle, lorsque l'on touche d'aussi près à des comportements très différents d'un système à l'autre, Java (qui est multiplate-forme) ne sait pas faire... Ce qu'il faut c'est invoquer des méthodes systèmes propre à chaque OS, et les traiter dans chaque cas (regarde la classe Runtime). Tu peux commencer par regarder la commande "ls /media"
Lorsqu'il y a une distinction entre C: D: etc... sur l'un, pour l'autre ce ne sont que des fichiers qui sont dans /media /dev /mnt... c'est à dire que la racine est bien /
En fait la méthode listRoots permet d'identifier quel est le plus haut niveau de fichier lorsque l'on fait "enregistrer sous", il me semble d'ailleurs que sous Windows ce n'est pas C:\ mais plutôt Bureau (car dans Bureau on a Ordinateur puis C:\ D:\ etc)
Donc ton erreur n'en est pas vraiment une, ça ne fait pas ce que tu veux mais il n'y a pas de miracle, lorsque l'on touche d'aussi près à des comportements très différents d'un système à l'autre, Java (qui est multiplate-forme) ne sait pas faire... Ce qu'il faut c'est invoquer des méthodes systèmes propre à chaque OS, et les traiter dans chaque cas (regarde la classe Runtime). Tu peux commencer par regarder la commande "ls /media"
fouzou11
Messages postés
140
Date d'inscription
Statut
Membre
Dernière intervention
4
mais la condition c'est que il est interdit d'utiliser les commande shell .
KX
Messages postés
16761
Date d'inscription
Statut
Modérateur
Dernière intervention
3 020
Si c'est juste pour faire un "ls" sans shell, tu peux directement faire un File.listFiles sur "/media", ça revient au même...
fouzou11
Messages postés
140
Date d'inscription
Statut
Membre
Dernière intervention
4
mais quand je pose mon tp le prof me dis de l'executer n'importe ou donc y a pas une autre solution par exemple une classe pour les disque amovible ou quelque chose autre
KX
Messages postés
16761
Date d'inscription
Statut
Modérateur
Dernière intervention
3 020
Si tu la trouves indiques la moi, ça peut toujours servir, moi je ne la connais pas !