在java中调用shell命令的笔记

主要代码如下:

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[]参数的方法,等于是饶了一个圈圈。

posted @ 2014-04-20 21:38  Ay叔  阅读(198)  评论(0编辑  收藏  举报