我尝试过很多读取文件的解决方案,但没有一个能够正常工作。
我需要一种方法来读取系统文件并将文本显示在toast或对话框中。
当然,我的应用程序具有root权限。
我需要在复选框单击后显示“eoc_status”的内容。
例如:
Runtime.getRuntime().exec("/sys/kernel/abb-chargalg/eoc_status").getInputStream();
我需要打开文本文件。
eoc_status
有读取权限,您需要阅读它而不是执行它。即使用cat
或FileReader
来读取它。然后,您将想要对返回的InputStream
做某些事情(将其放入您的提示中)。例如: BufferedReader buffered_reader=null;
try
{
//InputStream istream = Runtime.getRuntime().exec("cat /sys/kernel/abb-chargalg/eoc_status").getInputStream();
//InputStreamReader istream_reader = new InputStreamReader(istream);
//buffered_reader = new BufferedReader(istream_reader);
buffered_reader = new BufferedReader(new FileReader("/sys/kernel/abb-chargalg/eoc_status"));
String line;
while ((line = buffered_reader.readLine()) != null)
{
System.out.println(line);
}
}
catch (IOException e)
{
// TODO
e.printStackTrace();
}
finally
{
try
{
if (buffered_reader != null)
buffered_reader.close();
}
catch (IOException ex)
{
// TODO
ex.printStackTrace();
}
}
su
的方式启动可执行文件时才有意义,这可能会作为运行cat作为root的shim,从而能够执行Java程序无法执行的操作。 - Chris Stratton
su
shim或类似的方式来启动一个辅助进程。 - Chris Stratton