gpt4 book ai didi

java - 在java/Android中转换为Mhz

转载 作者:行者123 更新时间:2023-12-01 13:47:22 25 4
gpt4 key购买 nike

我找到了这段代码来获取CPU频率。在 Android 中:

private String ReadCPUMhz()
{
ProcessBuilder cmd;
String result="";
int resultshow = 0;

try{
String[] args = {"/system/bin/cat", "/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq"};
cmd = new ProcessBuilder(args);

Process process = cmd.start();
InputStream in = process.getInputStream();
byte[] re = new byte[1024];
while(in.read(re) != -1)
{
result = result + new String(re);

}

in.close();
} catch(IOException ex){
ex.printStackTrace();
}
return result;
}

问题是结果是 Khz 而不是 Mhz,所以我得到类似:300000..我如何转换为 Mhz?一位用户不久前写道,它使用以下方法找到了解决方案:result.trim()正如您在这里看到的 Convert khz value from CPU into mhz or ghz但他没有解释如何使用它..有人知道吗?谢谢

最佳答案

在您提到的帖子中,错误

invalid int: "192000 "

在调用之前使用 String.trim() 确实可以避免

Integer.parseInt(result);

因为在字符串“192000”中,末尾有一个多余的空格需要删除。 String类的trim()方法删除前导和尾随空白:
http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#trim%28%29

因此,根据您的示例代码:

/* replace XXXX by the name of the
class that holds method `ReadCPUMhz()`
*/
XXX instance = new XXX(); // supposing class XXX has such a constructor
String result = instance.ReadCPUMhz().trim(); // removes leading & trailing spaces
int kHzValue = Integer.parseInt(result); // result in kHz
int MHzResult = kHzValue / 1000; // result in MHz

应该给出以 MHz 为单位的预期结果。

关于java - 在java/Android中转换为Mhz,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20262638/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com