关于Java运行外部程序时的Process和Runtime类

在写Java应用程序的时候,会碰到在程序中调用另一个可执行程序或系统命令,这时可通过组合使用Java提供的Runtime类(java/lang/Runtime.java)和Process类(java/lang/Process.java)的API来实现。典型的模式如下:

Process process = Runtime.getRuntime().exec(".\\p.exe");
process.waitfor()
  • “.\p.exe”是要执行的程序名。
  • Runtime.getRuntime()返回当前应用程序的Runtime对象。
  • Runtime对象的exec()方法指示Java虚拟机创建一个子进程执行指定的可执行文件,并返回与该子进程对应的Process对象实例
  • 通过Process对象可控制该子进程的执行或者获取该子进程的信息。
  • process.waitfor()的目的在于等待子进程完成之后再往下执行。

Runtime类:与JVM运行时环境有关的类(Singleton),另外Runtime.getRuntime()可以取得当前Java的运行时环境,也是在Java中唯一可得到运行时环境的方法。Runtime中其他大部分方法都是实例方法,也就是说每次运行时调用这些方法都得先getRuntime()。Runtime中exit()方法是退出当前JVM的方法,好像也是唯一一个。因为System.exit()也是调用的Runtime.exec()来退出JVM的。
参考的原文链接:http://blog.sina.com.cn/s/blog_4b2fd9350100qd3n.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值