主要代码如下:
Runtime rt = Runtime.getRuntime(); Process pr = rt.exec(com, null, dir); InputStreamReader isr = new InputStreamReader (pr.getInputStream()); pr.waitFor(); while(isr.read(log)>=0) { System.out.println(new String(log)); } pr.destroy();
以上代码可以实现执行shell命令并且获得输出信息
在此处shell命令的操作范围尚不清楚,但是无法执行类似~/,*之类的操作。
在毕业设计中为了实现代码的打包,使用此方法执行javac和jar命令,只能将每个文件的相对路径+文件名插入到语句中执行,不能使用./*之类的语句。虽然这么写在终端是有效的。
其实在这种情况下,使用String[]参数的Runtime().exec()方法更易于实现,可以省去不少步骤,而且如上实现实际上还是要调用这个String[]参数的方法,等于是饶了一个圈圈。