Sélection d'une source

Résolu
Atoxis29 Messages postés 20 Date d'inscription mercredi 27 juillet 2011 Statut Membre Dernière intervention 19 avril 2012 - 9 févr. 2012 à 12:19
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 - 10 févr. 2012 à 15:56
Bonjour,

Je débute en java et je tente depuis plusieurs jours d'effectuer un action en vain..

J'aimerai faire apparaitre dans une combo box ou autre la liste des périphérique de stockage (Exemple HDDRCT )
pour que l'utilisateur puisse sélectionner la source des données à traiter.

Pouvez-vous m'aidez ?

Merci d'avance,

Cordialement.

7 réponses

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
9 févr. 2012 à 14:27
Ok, dans ce cas, là, tu peux utiliser le mode commande de Device Manager, c'est un plug in à télécharger ici : http://support.microsoft.com/default.aspx?scid=kb;en-us;311272.

Les commandes status ou stack servent à lister les périphériques.

Une fois installé, tu peux utiliser la classe runtime pour faire appel à ces commandes et récupérer la sortie standard de la commande et là, tu auras les périphériques.
3
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
9 févr. 2012 à 13:21
Bonjour,

Quel est précisément ton problème ?

Java n'est pas un langage système, je pense que tu dois faire appel à des commandes batch ou shell, est-ce que c'est ca qui te poses problème ? Ou bien, c'est au niveau de l'affichage ?

Et encore une question importante : linux ou windows (et si linux, quelle distrib ?)
0
Atoxis29 Messages postés 20 Date d'inscription mercredi 27 juillet 2011 Statut Membre Dernière intervention 19 avril 2012
9 févr. 2012 à 14:08
Oui c'est la récupération des données.

sous distrib Windows, XP plus précisément.
0
Atoxis29 Messages postés 20 Date d'inscription mercredi 27 juillet 2011 Statut Membre Dernière intervention 19 avril 2012
9 févr. 2012 à 16:55
Merci beaucoup,

pour le moment je n'arrive pas à filtrer juste les USBSTOR mais je vais chercher dans ce sens.

Merci pour ton aide.
0

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

Posez votre question
Atoxis29 Messages postés 20 Date d'inscription mercredi 27 juillet 2011 Statut Membre Dernière intervention 19 avril 2012
10 févr. 2012 à 15:00
Re-Bonjour !

En continuité de ce poste j'aimerai utiliser les résultats de ma commande dans une combo box pour pouvoir permettre la sélection d'un périphériques.

je crois que je suis mal partis, voici ma commande:
private void Load_DeviceActionPerformed(java.awt.event.ActionEvent evt) {
        try {
            Runtime.getRuntime().exec("cmd devcon status =floppydisk *");
            Runtime.getRuntime().exec("cmd devcon status =diskdrive *");
//            Récupération des périphériques présents
        }catch(Exception e) {
            System.out.println("Aucun Périphérique Détecté");
        }
    }


Comment puis-je faire ?

Merci d'avance.
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
10 févr. 2012 à 15:55
Je te donne une fonction qui te permet de récupérer la sortie standard de ton exécution :

/**
 * Cette procédure permet de lancer la récupération des flux dans un thread distinct
 * @param stream
 * 	Le flux à récupérer
 * @param destination
 *	La liste dans laquelle on enregistre le résultat
 */
private void lancerRecuperationSortie(final InputStream stream, final List<String> destination){
new Thread() {
public void run() {
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
String line = "";
try {
while((line = reader.readLine()) != null) {
destination.add(line);
}
} finally {
reader.close();
}
} catch(IOException ioe) {
ioe.printStackTrace();
}
}
}.start();
}


Tu pourras l'utiliser de cette manière :

List<String> lignes = new ArrayList<String>();
Process process = runtime.exec(commande);
lancerRecuperationSortie(process.getInputStream(), lignes);
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
10 févr. 2012 à 15:56
Encore une chose, le code que je te donne, je l'ai écris directement dans l'éditeur du site, il y a donc peut être quelques erreurs que tu corrigeras facilement en copiant cette fonction dans la fenêtre de ton ide.

Bon courage
0
Rejoignez-nous