Java 通过根抓取文件位置

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();

目标:读取根目录中文件的内容。最终,我希望能够读取.conf文件,但现在我正在使用.txt文件进行测试,因为它似乎更容易开始。。 我正在使用XDA视频中的开源Shell文件导航到我的根目录。作为参考,该文件位于:“/data/misc/joke.txt” 这是我的主要方法中的代码:

            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);