Java 通过根抓取文件位置
目标:读取根目录中文件的内容。最终,我希望能够读取.conf文件,但现在我正在使用.txt文件进行测试,因为它似乎更容易开始。。 我正在使用XDA视频中的开源Shell文件导航到我的根目录。作为参考,该文件位于:“/data/misc/joke.txt” 这是我的主要方法中的代码:Java 通过根抓取文件位置,java,android,exception,text,filereader,Java,Android,Exception,Text,Filereader,目标:读取根目录中文件的内容。最终,我希望能够读取.conf文件,但现在我正在使用.txt文件进行测试,因为它似乎更容易开始。。 我正在使用XDA视频中的开源Shell文件导航到我的根目录。作为参考,该文件位于:“/data/misc/joke.txt” 这是我的主要方法中的代码: String command[]={"su","-c","ls /data/misc"}; Shell shell = new Shell();
String command[]={"su","-c","ls /data/misc"};
Shell shell = new Shell();
String output = shell.sendShellCommand(command);
try {
read(output);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
因此,基本上所做的就是授予SU权限,然后导航到/data/misc文件夹。然后在Shell()类中,我扫描每个文件并搜索所需的文本文件。这可能是多余的,因为我希望文本文件每次都是“joke.txt”。无论如何,我对这段代码,read()方法有一个问题:
它在这条线上崩溃:
FileReader file = new FileReader(yourFile);
有什么提示吗?什么是崩溃日志?空异常?没有权限?您如何执行
su
?通过Runtime#exec
执行该操作将为执行该命令的进程提供根,而不是应用程序new FileReader
未在该进程中执行,因此它只有您的基本应用权限,可能会失败。我收到一个“:无法打开文件进行读取”。扎普,我不是很确定。当我运行应用程序时,它会请求SU root权限,因此我假设应用程序具有root访问权限。我如何才能以SU的身份执行newfilereader
?因此我试图直接打开文件,在使用命令String命令[]={“SU”、“-c”、“/data/misc/joke.txt”时,我遇到了一个“无法执行:权限被拒绝”错误代码>
FileReader file = new FileReader(yourFile);