Récupérer température de l'ordinateur en Java
Résolu/Fermé
Valentin97
Messages postés
14
Date d'inscription
lundi 21 mai 2012
Statut
Membre
Dernière intervention
25 octobre 2012
-
8 juin 2012 à 21:55
scriptiz Messages postés 1420 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 mai 2013 - 13 juin 2012 à 14:41
scriptiz Messages postés 1420 Date d'inscription dimanche 21 décembre 2008 Statut Membre Dernière intervention 14 mai 2013 - 13 juin 2012 à 14:41
A voir également:
- Java get cpu temperature
- Temperature cpu - Guide
- Cpu ordinateur - Guide
- Jeux java itel ✓ - Forum Jeux vidéo
- Java runtime - Télécharger - Langages
- Get et set en java ✓ - Forum Java
3 réponses
scriptiz
Messages postés
1420
Date d'inscription
dimanche 21 décembre 2008
Statut
Membre
Dernière intervention
14 mai 2013
422
Modifié par scriptiz le 9/06/2012 à 12:40
Modifié par scriptiz le 9/06/2012 à 12:40
Tu peux appeler des DLL (soit les api win32, soit tes propres DLL créées en C++) avec JNI.
Sinon il y a d'autres librairies pour faire ça comme JNA dont ils parlent ici :
https://www.developpez.net/forums/d600497/java/general-java/api-standards-tierces/java-api-windows/
Mais je ne pense pas que Java permette d'y accéder via sa librairie standard.
"The most successful method of programming is to begin a program as simply as possible, test it, and then add to the program until it performs the required job." -- PDP8 handbook, Pg 9-64
Sinon il y a d'autres librairies pour faire ça comme JNA dont ils parlent ici :
https://www.developpez.net/forums/d600497/java/general-java/api-standards-tierces/java-api-windows/
Mais je ne pense pas que Java permette d'y accéder via sa librairie standard.
"The most successful method of programming is to begin a program as simply as possible, test it, and then add to the program until it performs the required job." -- PDP8 handbook, Pg 9-64
9 juin 2012 à 12:59
10 juin 2012 à 14:04
Dans ce cas là il peut facilement appelé la commande sensors à partir de son programme Java et extraire le résultat qui l'intéresse (avec un split ou une expression régulière).
// La commande pour récupérer les températures String cmd = "sensors"; try { // On lance la commande sensors Process child = Runtime.getRuntime().exec(cmd); // On récupère la sortie du process InputStream lsOut = child.getInputStream(); InputStreamReader r = new InputStreamReader(lsOut); BufferedReader in = new BufferedReader(r); // On affiche la sortie du processus String line; while ((line = in.readLine()) != null) { System.out.println(line); } } catch (Exception e) { // En cas d'erreur System.out.println("Echec de la commande : " + cmd); }Modifié par KX le 10/06/2012 à 14:43
J'en profite, pour également afficher la lecture du flux d'erreur, ça peut servir.
// La commande pour récupérer les températures String cmd = "sensors"; try { // On lance la commande sensors Process child = Runtime.getRuntime().exec(cmd); // On récupère la sortie standard du process Scanner out = new Scanner(child.getInputStream()); // On récupère la sortie d'erreur du process Scanner err = new Scanner(child.getErrorStream()); // On affiche les sorties du processus while (out.hasNextLine()) System.out.println(out); while (err.hasNextLine()) System.err.println(err); // On libère le processus out.close(); err.close(); child.destroy(); } catch (Exception e) { // En cas d'erreur System.err.println("Echec de la commande : " + cmd); e.printStackTrace(); }