Sélection d'une source [Résolu]

Signaler
Messages postés
20
Date d'inscription
mercredi 27 juillet 2011
Statut
Membre
Dernière intervention
19 avril 2012
-
Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
-
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

Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
293
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.
Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
293
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 ?)
Messages postés
20
Date d'inscription
mercredi 27 juillet 2011
Statut
Membre
Dernière intervention
19 avril 2012

Oui c'est la récupération des données.

sous distrib Windows, XP plus précisément.
Messages postés
20
Date d'inscription
mercredi 27 juillet 2011
Statut
Membre
Dernière intervention
19 avril 2012

Merci beaucoup,

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

Merci pour ton aide.
Messages postés
20
Date d'inscription
mercredi 27 juillet 2011
Statut
Membre
Dernière intervention
19 avril 2012

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.
Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
293
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);
Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
293
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