0

我想要实现的只是从执行中获得响应。例如,如果我执行像“ls”这样的命令,我想获取所有文件和目录的字符串

例如像这样

Runtime.getRuntime().exec("ls");

但我不知道如何得到回应。

我运行这样的东西,我以为我会重定向输出但仍然没有

Runtime.getRuntime().exec("ls",null,new File("/sdcard/myFile") );

我也尝试过类似的东西,但仍然没有

Runtime.getRuntime().exec("echo | ls > /sdcard/myfile");

有任何想法吗 ?

4

2 回答 2

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);
 }
于 2012-07-23T10:33:00.100 回答
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();
    }
于 2012-07-23T10:34:44.413 回答