2012-02-13 19 views
0

はアンドロイドのroot権限を得るために、我々は通常、次のように実行します。、出力または入力ストリームにコマンドを書き込む必要がありますか?

Process p=Runtime.getRuntime().exec(“su”); 
DataOutputStream stream=new DataOutputStream(p.getOutputStream()); 
stream.writeBytes("mkdir /testFolder\n"); 
stream.writeBytes(“exit \n”); 
p.waitFor(); 

は、我々はすべてがOKで、フォルダ/testFolderを作成することができますが、私はそれについて混乱し、上記のコードを実行します。ターミナルでいくつかのコマンドを実行したいときには、最初にいくつかのコードを入力し、コードで何かをするために入力バッファを読み込みます。しかしここでは、サブプロセスの出力ストリームに文字列を書きます。なぜですか?それは、出力バッファから、入力バッファではなく、コマンドを読んでいるようですか?

答えて

0

名前がちょっと変わったかもしれませんが、Process.getOutputStream()は、プロセスの標準入力に接続されたOutputStreamを返します。

名前は、親プロセスの観点からのものです。親プロセスの出力は、サブプロセスの入力です。親プロセスの入力は、サブプロセスの出力です。

関連する問題