我的应用程序(DataSync)必须读取和写入只能由 root 访问的文件,因此我仅限于使用 shell 来操作这些文件。我目前将一个我想访问的文件复制到一个缓存目录,之后我可以从我的 Java 代码为缓存文件创建一个输入或输出流。写入文件的方式相同(但反过来)。
由于缓存此文件相对耗时,我想直接读取或写入这些文件而不需要缓存目录。我基本上是在尝试使用进程输入和输出流来读取或写入文件,如下所示:
Process p = Runtime.getRuntime().exec("su");
OutputStream out = p.getOutputStream();
InputStream in = p.getInputStream();
// Write open file command to outputstream
// Read file contents from inputStream
out.close();
in.close();
我需要从进程中打开一个文件,并将其定向到标准输出,以便我的 Java 应用程序可以读取所述文件(以及类似的写入文件)。但是,我对 Linux 不是很熟悉,所以我不知道从哪里开始。谁能指出我正确的方向?
谢谢,昆特。