JDK5的ProcessBuilder介绍和使用实例 - 编程入门网
JDK5的ProcessBuilder介绍和使用实例时间:2010-12-05 java2000一、JDK中的介绍摘录 此类用于创建操作系统进程。 每个 ProcessBuilder 实例管理一个进程属性集。start() 方法利用这些属 性创建一个新的 Process 实例。start() 方法可以从同一实例重复调用,以利 用相同的或相关的属性创建新的子进程。 每个进程生成器管理这些进程属性: * 命令 是一个字符串列表,它表示要调用的外部程序文件及其参数(如果有)。在 此,表示有效的操作系统命令的字符串列表是依赖于系统的。例如,每一个总体 变量,通常都要成为此列表中的元素,但有一些操作系统,希望程序能自己标记 命令行字符串——在这种系统中,Java 实现可能需要命令确切地包含这两个元 素。 * 环境 是从变量 到值 的依赖于系统的映射。初始值是当前进程环境的一个副本( 请参阅 System.getenv())。 * 工作目录 默认值是当前进程的当前工作目录,通常根据系统属性 user.dir 来命名。 * redirectErrorStream 属性 最初,此属性为 false,意思是子进程的标准输出和错误输出被发送给两个 独立的流,这些流可以通过Process.getInputStream() 和 Process.getErrorStream() 方法来访问。如果将值设置为 true,标准错误将与 标准输出合并。这使得关联错误消息和相应的输出变得更容易。在此情况下,合 并的数据可从 Process.getInputStream() 返回的流读取,而从 Process.getErrorStream() 返回的流读取将直接到达文件尾。 修改进程构建器的属性将影响后续由该对象的 start() 方法启动的进程,但 从不会影响以前启动的进程或 Java 自身的进程。 大多数错误检查由 start() 方法执行。可以修改对象的状态,但这样 start() 将会失败。例如,将命令属性设置为一个空列表将不会抛出异常,除非 包含了 start()。 注意,此类不是同步的。如果多个线程同时访问一个 ProcessBuilder,而其 中至少一个线程从结构上修改了其中一个属性,它必须 保持外部同步。 很容易启动一个使用默认工作目录和环境的新进程: Process p = new ProcessBuilder("myCommand", "myArg").start(); 下面是一个利用修改过的工作目录和环境启动进程的例子:
JDK5的ProcessBuilder介绍和使用实例(2)时间:2010-12-05 java2000二、使用案例 使用Runtime的例子
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |