从/ sys读取数据的哪种方法更安全

卡斯帕尔

我试图编写一个程序来监视各种硬件组件的温度。

我为此选择的语言是Java。现在,我可以通过两种方式读取温度:

a)cat /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input在Java中使用Process process = Runtime.getRuntime().exec("cat /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input");

b)创建File指向该文件指针,/sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input然后打开BufferedReader该文件以读取温度

第一个看起来很奇怪,您调用另一个程序来读取文件并在实际上准备好知道文件的位置时打印内容。

第二个让我想,当Linux内核每秒对文件进行一次更新时,会导致任何问题BufferedReader吗?例如,我将尝试每7秒打开一个文件吗?

寻找关于这些方法中哪一种更聪明的见解。

安迪·C

从性能和可移植性的角度来看,选项B是首选的解决方案(请参阅下文),我可能会一次读取文件的全部内容

字符串内容=新的Scanner(新的File(“文件名”))。useDelimiter(“ \ Z”)。next();

(来自这个StackOverflow答案

您应该处理由于文件不存在而导致的I / O错误,并在文件为零字节时读取它(当hwmon在将新值写入文件之前将其截断文件时,可能会发生这种情况,虽然时间很短,但是可以发生)。


选项A最终创建2个子进程-首先,它创建一个Shell,然后将命令行传递给该进程,该进程将启动您希望的cat命令。如果运行程序的进程具有奇怪的路径环境变量,则可能无法运行cat或运行您不期望的操作。可以通过使用完整路径(通常是/ bin / cat)来缓解这种情况,但这仍然取决于系统。

总体而言,除非没有其他选择,否则最好不要生成外部进程。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

哪种方法更准确?

来自分类Dev

从大文件读取数据/向大文件写入数据哪种方法更好?

来自分类Dev

jQuery-aria-controls与数据属性来标识/选择DOM元素-哪种方法更受欢迎?

来自分类Dev

哪种方法在控制器之间交换数据更好

来自分类Dev

TCP数据传输应使用哪种方法

来自分类Dev

哪种方法会更快?

来自分类Dev

我在用哪种方法?

来自分类Dev

我在用哪种方法?

来自分类Dev

Python:哪种方法更好?

来自分类Dev

哪种方法适合断言

来自分类Dev

应用程序传输安全性:RESTful API的哪种方法?NSExceptionAllowsInsecureHTTPLoads或NSAllowsArbitraryLoads

来自分类Dev

Excel中的行级安全性-我应该使用哪种方法:

来自分类Dev

哪种方法是在SQL Server中复制数据库的最佳方法?

来自分类Dev

Django:哪种方法是查找(搜索)相等数据对象的更好方法?

来自分类Dev

轻松知道哪种方法最好的方法

来自分类Dev

为什么与矩阵列相比,哪种方法在数据框列上工作更快?

来自分类Dev

哪种方法最好将相关数据存储在表中

来自分类Dev

AngularJS中使用哪种方法对数据进行文本表示?

来自分类Dev

我应该使用哪种方法将数据发送到Apple Watch并返回?

来自分类Dev

使用哪种方法保存游戏数据并在Flutter中显示它们?

来自分类Dev

为什么与矩阵列相比,哪种方法在数据框列上的运行速度更快?

来自分类Dev

从服务器获取数据并显示在列表上,哪种方法更好?

来自分类Dev

填充SQL Server数据库并创建索引-哪种方法最有效?

来自分类Dev

我应该使用哪种方法将数据发送到Apple Watch并返回?

来自分类Dev

可以从VBScript访问哪种方法重载?

来自分类Dev

哪种方法对Python迭代更快?

来自分类Dev

DataAdapter,该更新哪种方法?

来自分类Dev

popBackStack之后将调用哪种方法?

来自分类Dev

提交按钮的图像-哪种方法最好?

Related 相关文章

  1. 1

    哪种方法更准确?

  2. 2

    从大文件读取数据/向大文件写入数据哪种方法更好?

  3. 3

    jQuery-aria-controls与数据属性来标识/选择DOM元素-哪种方法更受欢迎?

  4. 4

    哪种方法在控制器之间交换数据更好

  5. 5

    TCP数据传输应使用哪种方法

  6. 6

    哪种方法会更快?

  7. 7

    我在用哪种方法?

  8. 8

    我在用哪种方法?

  9. 9

    Python:哪种方法更好?

  10. 10

    哪种方法适合断言

  11. 11

    应用程序传输安全性:RESTful API的哪种方法?NSExceptionAllowsInsecureHTTPLoads或NSAllowsArbitraryLoads

  12. 12

    Excel中的行级安全性-我应该使用哪种方法:

  13. 13

    哪种方法是在SQL Server中复制数据库的最佳方法?

  14. 14

    Django:哪种方法是查找(搜索)相等数据对象的更好方法?

  15. 15

    轻松知道哪种方法最好的方法

  16. 16

    为什么与矩阵列相比,哪种方法在数据框列上工作更快?

  17. 17

    哪种方法最好将相关数据存储在表中

  18. 18

    AngularJS中使用哪种方法对数据进行文本表示?

  19. 19

    我应该使用哪种方法将数据发送到Apple Watch并返回?

  20. 20

    使用哪种方法保存游戏数据并在Flutter中显示它们?

  21. 21

    为什么与矩阵列相比,哪种方法在数据框列上的运行速度更快?

  22. 22

    从服务器获取数据并显示在列表上,哪种方法更好?

  23. 23

    填充SQL Server数据库并创建索引-哪种方法最有效?

  24. 24

    我应该使用哪种方法将数据发送到Apple Watch并返回?

  25. 25

    可以从VBScript访问哪种方法重载?

  26. 26

    哪种方法对Python迭代更快?

  27. 27

    DataAdapter,该更新哪种方法?

  28. 28

    popBackStack之后将调用哪种方法?

  29. 29

    提交按钮的图像-哪种方法最好?

热门标签

归档