Java调用外部程序

阅读数:92 评论数:0

跳转到新版页面

分类

python/Java

正文

一、概述

通过Java执行系统命令,效果类似于cmd中或者bash中执行命令一样,最典型的用法就是使用Runtime.getRuntime().exec(command)或者new ProcessBuilder(cmdArray).start()。

 

二、Runtime

Runtime类是Java程序的运行时环境,不能new出一个Runtime对象,只能通过getRuntime()方法获取当前Runtime运行时对象的引用,然后可以调用Runtime的方法查看和修改Java虚拟机的状态。

Runtime和ProcessBuilder的不同点就是,启动子进程时的命令形式不同,Runtime.getRuntime.exec()可以把命令和参数写在一个String中,用空格分开;ProcessBuilder则是使用构造函数,传递一个由命令和参数组成的List或数组。

三、Process

Process是一个抽象类,主要方法:

1、waitFor

让当前主进程等待这个process指向的子进程完成。

四、ProcessBuilder

start方法返回Process的一个实例。




相关推荐

一、创建线程 创建线程有四种方式:继承Thread类、实现Runnable接口、实现Callable接口、通过线程池创建。 1、继承Thread 重写run方法。 class A extends Th

一、概述 1、spring容器 spring中有三种bean容器:BeanFactory、ApplicationContext、WebApplicationContext。 (1)BeanFactor

一、异常之间的关系 1、Error Error是Throwable的子类,代指应用程序不应该试图捕获的严重问题。 2、Exception 代指应用程序应该捕获的异常。分为未检查异常(RuntimeE

一、概述 在应用中,经常希望在JVM关闭时做一些清理工作 二、JVM自带的shutdownHook 使用java.lang.Runtime.getRuntime().addShutdownHook(T

ManagementFactory是一个为我们提供各种获取JVM信息的工厂类,使用ManagementFactory可以获取大量的运行时JVM信息,比如JVM堆的使用情况,以及GC情况,线程信息

一、maxMemory 返回的是这个java进程可以从操作系统里获得的最大的内存。对应于jvm参数-Xmx 二、toalMemory 返回的是当

https://www.flowable.com/open-source/docs/bpmn/ch04-API Process Engine API是与Flowable的主要交互方式,通过Proce

一、流程实例 通过runtimeService.startProcessInstance()方法启动,引擎会创建一个流程实例。 二、执行实例 执行实例就是一个流程实例具体要执行的过程对象,两者的对象映

一、概述 Spring 中的处理器的实现多变,比如用户的处理器可以实现 Controller 接口或者 HttpRequestHandler 接口,也可以用 @RequestMapping 注解将方法