Java调用Linux命令行

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

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

Runtime.getRuntime().exec(command)

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

Runtime.getRuntime().exec("ls");

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

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

(注意:Runtime.getRuntime().exec(command)返回的是一个Process类的实例),

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

try

{

Process process = Runtime.getRuntime().exec ("ls");

InputStreamReader ir=new InputStreamReader(process.getInputStream());

LineNumberReader input = new LineNumberReader (ir);

String line;

while ((line = input.readLine ()) != null){

System.out.println(line)

}

catch (java.io.IOException e){

System.err.println ("IOException " + e.getMessage());

}

【Java调用Linux命令行】相关文章:

linux下java命令行参数_Java调用Linux命令行相关推荐

  1. linux shell java 参数_java调用linux中的shell脚本传递参数并返回执行结果

    [刚接触 linux下的开发,最近遇到java调用shell脚本的问题,找到一个比较适合菜鸟级的方法,转述如下: 在需要运行的SHELL脚本第一行添加 #!/bin/sh然后在终端运行  chmod ...

  2. java cmd 返回结果_Java调用cmd命令行并返回执行结果

    命令提示符是在操作系统中,提示进行命令输入的一种工作提示符.在windows环境下,命令行程序为cmd.exe,是一个32位的命令行程序,微软Windows系统基于Windows上的命令解释程序,类似 ...

  3. java中的命令行参数_Java中的命令行参数

    java中的命令行参数 Command-line arguments in Java are used to pass arguments to the main program. If you lo ...

  4. java 接收命令行参数_java中的命令行参数_Java中的命令行参数

    java中的命令行参数 Command-line arguments in Java are used to pass arguments to the main program. If you lo ...

  5. Linux java集成安装环境,Linux下Java环境安装

    本节主要讲解Linux(Centos 6.5)下Java环境的安装 1. 卸载机器上默认安装的JDK 在Linux环境下一般会默认安装jdk,为了自己项目的开发部署,一般情况要重新装jdk,而且自己装 ...

  6. linux下java的环境配置

    linux下java的环境配置 文章目录 linux下java的环境配置 1. 删除原有的java环境 2.去官网下载相应的Java环境 3.在Linux上进行解压 4. 修改~/.bashrc 参考 ...

  7. Linux下java/bin目录下的命令集合

    Linux下JAVA命令(1.7.0_79) 命令 详解 参数列表 示例 重要程度 资料 appletviewer Java applet 浏览器.appletviewer 命令可在脱离万维网浏览器环 ...

  8. LINUX下用CTRL+R快速搜索HISTORY历史命令,快速索引到之前使用过的命令行语句

    LINUX下用CTRL+R快速搜索HISTORY历史命令,快速索引到之前使用过的命令行语句 前提是,搜索已经使用的命令,否则是查不出来结果的. ctrl+r 用途:反向搜索执行过的命令.(revers ...

  9. java 获取linux主机名,linux下java获取hostname

    linux下java获取hostname [2021-01-29 19:46:41]  简介: php去除nbsp的方法:首先创建一个PHP代码示例文件:然后通过"preg_replace( ...

最新文章

  1. MPB:扬州大学王梦芝组-反刍动物瘤胃原虫18S rRNA测序分析技术
  2. 如何用最简单的方式理解傅立叶变换?
  3. HEVC算法和体系结构:预测编码之帧内预测
  4. 华为nova9 SE官网上架:华为首款1亿像素手机
  5. 【转--- 数据挖掘的心得学习】
  6. r语言上机文本分析与词云绘制_R语言jiebaR包文本中文分词及词云上机练习,小白能做到...
  7. 从陪练到赢家:人机博弈的六十年
  8. 学python需要c-为什么我建议每个开发人员都需要学 Python ?
  9. 软件测试——测试用例之场景法
  10. 学计算机做近视眼手术,做完近视眼手术后多久可以看电脑
  11. 超级跳台阶的动态规划实现
  12. 抖音直播可以看全场回放了?怎么进行有效复盘?
  13. docker: Error response from daemon: Conflict. The container name “/mysql“ is already in use by conta
  14. 什么电脑录音软件是最好用的
  15. python输入一个整数和一个字符_【python零基础入门】基础语法之变量、字符串、数字、规则。...
  16. VSCode 返回上一个光标 (上一个浏览位置)
  17. 文件夹目录下所有的视频使用ffmpeg指定位置截图
  18. RARP:反向地址转换协议
  19. IAR之IAR EWARM软件软件配置
  20. 【软件工程】软件需求

热门文章

  1. 关键字super和this的使用及区别
  2. HOG(方向梯度直方图)
  3. linux rpm 校验软件包中的文件
  4. LABLEME UPDATE DAMOD
  5. 对CMMI3的学习和思考
  6. ABB RAPID 程序 WorldZone 归纳
  7. C++11系列学习之二-----lambda表达式
  8. 联想u盘linux安装教程,联想笔记本用U盘安装 winXP系统教程
  9. python模拟鼠标拖动滑块_如何通过拖动滑块来控制Kivy滚动视图?
  10. char数组转string_String类和其它数据类型的相互转换