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 に答える