使用Runtime.getRuntime().exec()的问题

今晚的月亮 发布于 2013/12/18 09:27
阅读 2K+
收藏 0

@loyal 你好,想跟你请教个问题:刚刚看了您在这个网址“http://www.oschina.net/question/1015952_124609”给“京九的鸟”回答问题,现在想问您一下,您写的这段代码中的打印输出流pw是给谁的呢?

Runtime runtime = Runtime.getRuntime();

Process proc = runtime.exec("su");

//这个proc就是具有root权限的,你可以通过以下这种方式执行一些root权限才能做得事。

PrintWriter pw = new PrintWriter(proc.getOutputStream());

pw.println("cd /system");

pw.flush();

pw.close();

加载中
0
抢小孩糖吃
抢小孩糖吃

你可以理解PrintWriter是cmd或者shell里面的键盘写入过程

打印输出流是下面这样的

Process process = Runtime.getRuntime().exec(command);
				BufferedInputStream bufferedInputStream = new BufferedInputStream(process.getInputStream());
	           	BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(bufferedInputStream));
	           	 String output;
	           	 while ((output = bufferedReader.readLine()) != null) {
	               	 System.out.println(output);
	          	  }
					process.waitFor();
	          	  if (process.exitValue() != 0) {
	            	    System.out.println("error!");
	          	  }

	          	bufferedInputStream.close();
	          	bufferedReader.close();



今晚的月亮
今晚的月亮
但是我这么用logcat里面显示java.io.ioexception:broken pipe,这是怎么回事呢?
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部