Java中使用Runtime和Process类运行外部程序

本文介绍了Java中如何通过Runtime和Process类运行外部程序,讲解了使用场景,Runtime类的exec方法以及Process类的重要方法,如获取输入输出流、结束进程等。并提供了简单的实践示例,演示了调用Dekstop目录下hello.sh脚本的过程。
摘要由CSDN通过智能技术生成

使用场景

java与非java程序之间的交互

Runtime

使用Runtime.getRuntime().exec()方法可以在java程序里运行外部程序。

  1. exec(String command)
  2. exec(String command, String envp[], File dir):传递环境变量并标识当前目录
  3. exec(String cmd, String envp[]):传递环境变量
  4. exec(String cmdarray[])
  5. exec(String cmdarray[], String envp[])
  6. exec(String cmdarray[], String envp[], File dir)

Process

通过Process的getInputStream(),getOutputStream()和getErrorStream()方法可以得到输入输出流,然后通过InputStream可以得到程序对控制台的输出信息,通过OutputStream可以给程序输入指令,这样就达到了程序的交换功能。
process类主要有下面几个方法

  1. destroy():杀掉子进程
  2. exitValue():返回子进程的出口值,值 0 表示正常终止
  3. getErrorStream():获取子进程的错误流
  4. getInputStream():获取子进程的输入流
  5. getOutputStream():获取子进程的输出流
  6. waitFor():导致当前线程等待,如有必要,一直要等到由该 Process 对象表示的进程已经终止。如果已终止该子进程,此方法立即返回。如果没有终止该子进程,调用的线程将被阻塞,直到退出子进程,根据惯例,0 表示正常终止;

简单实践

java 代码

import java.io.BufferedReader;
import java.io.File;
import java.io.InputStreamReader;

class Scratch {
   
    public static void main(String[] args) throws Excep
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值