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