我想要实现的只是从执行中获得响应。 例如,如果我执行这样的命令“ls” 我想获得所有文件和目录的字符串
例如像这样
Runtime.getRuntime().exec("ls");
但我不知道如何得到答复。
我运行这样的东西,我以为我会重定向输出但仍然没有
Runtime.getRuntime().exec("ls",null,new File("/sdcard/myFile") );
我也尝试了类似的东西,但仍然没有
Runtime.getRuntime().exec("echo | ls > /sdcard/myfile");
有什么想法吗?
答案 0 :(得分:0)
你试过这个吗?
String cmd = "commands";
Process process = Runtime.getRuntime().exec(cmd);
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream()));
StringBuilder log = new StringBuilder();
String line;
while ((line = bufferedReader.readLine()).length() > -1)
{
log.append(line);
}
答案 1 :(得分:0)
试试这段代码
try {
String[] commands = {"dumpstate > /sdcard/log1.txt"};
Process p = Runtime.getRuntime().exec("/system/bin/sh -");
DataOutputStream os = new DataOutputStream(p.getOutputStream());
for (String tmpCmd : commands) {
os.writeBytes(tmpCmd+"\n");
}
} catch (IOException e) {
e.printStackTrace();
}