Java调用Linux命令行

Java语言以其跨平台性和简易性而著称,在Java里面的lang包里(ime)提供了一个允许Java程序与该程序所运行的环境交互的接口,这就是Runtime类,在Runtime类里提供了获取当前运行环境的接口。那么java怎么调用Linux命令行,跟yjbys小编一起来学习一下吧!

Java调用Linux命令行

Java可以直接调用Linux命令,形式如下:

untime()(command)

举例:运行ls,top命令可以这样:

untime()("ls");

但是这样执行时没有任何输出,原因:

调用方法将产生一个本地的`进程,并返回一个Process子类的实例,

(注意:untime()(command)返回的是一个Process类的实例),

该实例可用于控制进程或取得进程的相关信息. 由于调用方法所创建的子进程没有自己的终端或控制台,因此该子进程的标准IO(如stdin,stdou,stderr)都通过utputStream(),nputStream(), rrorStream()方法重定向给它的父进程了.用户需要用这些stream来向子进程输入数据或获取子进程的输出. 可以采用如下方法:

try

{

Process process = untime() ("ls");

InputStreamReader ir=new InputStreamReader(nputStream());

LineNumberReader input = new LineNumberReader (ir);

String line;

while ((line = Line ()) != null){

tln(line)

}

catch (ception e){

tln ("IOException " + essage());

}