java获取cpu温度,跪求源代码。。。
展开全部
研究了一下
cpu温度的数值由主板驱动供给windows,目前的现状是许多PC兼容机不提供或没安装“专用的主板驱动”(比如大量的ghost集成装机),连win都没法获知温度,更别提win之上的Java。
在专用主板驱动安装正常的win-java系统下可以:
import java.util.Scanner;
public class Test {
static public void main(String 土数[]) {
try {
final String cmd="wmic /namespace:\\\\root\\WMI path MSAcpi_ThermalZoneTemperature get CurrentTemperature";
Process p = Runtime.getRuntime().exec(cmd);
p.getOutputStream().close();//这句不写就不执行
Scanner sc=new Scanner(p.getInputStream());
sc.next();
float t=(sc.nextInt()-2732f)/10f;
sc.close();
System.out.println("当前CPU温度:"+t);
p.waitFor();
} catch (Exception e) {
e.printStackTrace();
}
}
}
==
当前CPU温度:41.0
linux下同样依赖“主板驱动”, 数据提供给/dev/sensor
cpu温度的数值由主板驱动供给windows,目前的现状是许多PC兼容机不提供或没安装“专用的主板驱动”(比如大量的ghost集成装机),连win都没法获知温度,更别提win之上的Java。
在专用主板驱动安装正常的win-java系统下可以:
import java.util.Scanner;
public class Test {
static public void main(String 土数[]) {
try {
final String cmd="wmic /namespace:\\\\root\\WMI path MSAcpi_ThermalZoneTemperature get CurrentTemperature";
Process p = Runtime.getRuntime().exec(cmd);
p.getOutputStream().close();//这句不写就不执行
Scanner sc=new Scanner(p.getInputStream());
sc.next();
float t=(sc.nextInt()-2732f)/10f;
sc.close();
System.out.println("当前CPU温度:"+t);
p.waitFor();
} catch (Exception e) {
e.printStackTrace();
}
}
}
==
当前CPU温度:41.0
linux下同样依赖“主板驱动”, 数据提供给/dev/sensor
展开全部
java无法实现得到你想要的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个,你去iteye上面搜一下,有这样的文章,可以看看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Java是通过虚拟机执行程序的,无法和硬件相关信息相联系 这些应该是c++ C 做的
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询