当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:15:00  来源:本站整理

JDK5的ProcessBuilder介绍和操纵实例[Java编程]

赞助商链接



  本文“JDK5的ProcessBuilder介绍和操纵实例[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

1、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();

下面是一个操纵改正过的工作目录和环境启动进程的例子:

ProcessBuilder pb = new ProcessBuilder("myCommand", "myArg1", "myArg2");
   Map<String, String> env = pb.environment();
   env.put("VAR1", "myValue");
   env.remove("OTHERVAR");
   env.put("VAR2", env.get("VAR1") + "suffix");
   pb.directory(new File("myDir"));
   Process p = pb.start();


  以上是“JDK5的ProcessBuilder介绍和操纵实例[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • Jdk5.0新特点Generic Types(泛型)
  • <b>JDK5新特点之新的格局化输出</b>
  • JBuilder2005实现重构之进级到JDK5.0
  • JDK5的ProcessBuilder介绍和操纵实例
  • Fedora Linux中配置JDK5或JDK6环境变量
  • JDK5.0中的内置工具简介
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .