问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

不允许子操作执行重定向操作.该怎么解决

发布网友 发布时间:2022-07-19 18:28

我来回答

1个回答

热心网友 时间:2023-10-17 02:30

在编写Java程序时,有时候需要在Java程序中执行另外一个程序。
  1、启动程序Java提供了两种方法用来启动其它程序:

  (1)使用Runtime的exec()方法

  (2)使用ProcessBuilder的start()方法

  不管在哪种操作系统下,程序具有基本类似的一些属性。一个程序启动后就程序操作系统的一个进程,进程在执行的时候有自己的环境变量、有自己的工作目录。Runtime和ProcessBuilder提供了不同的方式来启动程序,设置启动参数、环境变量和工作目录。

  能够在Java中执行的外部程序,必须是一个实际存在的可执行文件,对于shell下的内嵌命令是不能直接执行的。

  采用Runtime的exec执行程序时,首先要使用Runtime的静态方法得到一个Runtime,然后调用Runtime的exec方
法。可以将要执行的外部程序和启动参数、环境变量、工作目录作为参数传递给exec方法,该方法执行后返回一个Process代表所执行的程序。

  Runtime有六个exec方法,其中两个的定义为:

  public Process exec(String[] cmdarray, String[] envp, File dir)

  public Process exec(String command, String[] envp, File dir)

  cmdarray和command为要执行的命令,可以将命令和参数作为一个字符串command传递给exec()方法,也可以将命令和参数一个一个的方在数组cmdarray里传递给exec()方法。

  envp为环境变量,以name=value的形式放在数组中。dir为工作目录。

  可以不要dir参数,或者不要envp和dir参数,这样就多出了其它4个exec()方法。如果没有dir参数或者为null,那么新启动的
进程就继承当前java进程的工作目录。如果没有envp参数或者为null,那么新启动的进程就继承当前java进程的环境变量。

  也可以使用ProcessBuilder类启动一个新的程序,该类是后来添加到JDK中的,而且被推荐使用。通过构造函数设置要执行的命令以及
参数,或者也可以通过command()方法获取命令信息后在进行设置。通过directory(File directory)
方法设置工作目录,通过environment()获取环境变量信息来修改环境变量。

  在使用ProcessBuilder构造函数创建一个新实例,设置环境变量、工作目录后,可以通过start()方法来启动新程序,与Runtime的exec()方法一样,该方法返回一个Process对象代表启动的程序。

  ProcessBuilder与Runtime.exec()方法的不同在于ProcessBuilder提供了
redirectErrorStream(boolean redirectErrorStream)
方法,该方法用来将进程的错误输出重定向到标准输出里。即可以将错误输出都将与标准输出合并。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
推荐一款在卧室听的音响,最好带CD,带收音机,可插U盘,价格1000以内!尽量... 求问,近几年还会有类似于声之形、你的名字这样的动漫电影么w_百度... 苦学包括什么 北京世纪百奥科技有限公司怎么样? 居住证积分需要哪些材料 上海办居住证积分需要什么资料 居住证积分有哪些材料 如何建立良好的家庭情感氛围 如何让家庭氛围更快乐 如何营造一个欢乐轻松的家庭氛围呢? 如何通过一个bs模式的软件调用一个cs模式的软件。求大神! processbuilder android 要配置权限么 苹果手机用天眼查为什么没有网络 6.1声道功放怎么接 6.1声道功放中的.1即低音电平输出能由该功放控制音量吗? 欺诈的房屋买卖合同有效吗? uk电子专用发票下载时出现网络连接异常,请核对网络配置- 问一问 开票系统网络连接失败是什么原因 电视网络断开怎样重新连接? 电脑网络连接已断开怎么办 site:jingyan.baidu.com- 问一问 怎样申请新? 怎样注册新 怎样注册? 注册一个新的怎么注册 怎么申请注册新账号 教室里的一体机电脑网络图标上有感叹号上不了网怎么办 一体机用无线联网下面出现黄色感叹号,连不上网 没有任何绘画基础要学油画先从何学起 我电瓶车6块电瓶一块是12v的,现在用了半年,用测了一下是10v左右,有 48v电动车四块电池,一块量的10v左右,其他三块在14v左右,,,充电冲不进去。10v的是不是坏 java怎么用processbuilder关机 用“”儿童急走追黄蝶,飞入菜花无处寻”来写一段小练笔(不少于200字) 童年是美好的,光阴是主宝贵的,小练笔。 那个小练笔怎么写?求解 一个小练笔,写心情,但文中不出现这个心情词。100字。 用“”儿童急走追黄蝶,飞入菜花无处寻”来写一段小练笔(不少于100字)? 《红楼梦》中关于贾宝玉“意淫”的原文是什么 消防干部有车补吗 消防干部每年服装和被褥补贴一年多少 2019年,退休的消防证书,多少钱一年呢? 我儿子是消防兵,国家给交养老保险吗 消防兵一般五年之后退伍费是多少- 问一问 1968年退役军人到企业单位消防工作退休的待遇如何补贴 QQ空间老打不开。提示网络不稳定 在qq空间显示网络不稳定,是什么原因呢 ? QQ空间网络为什么老是不稳定? 为什么qq空间好多内容打不开,显示网络不稳定 我每次打开QQ空间老是显示:由于您的网络当前不稳定......。怎么解决这个问题? 我打开QQ空间说我网络不稳定这为什么! QQ空间提示,您当前的网络不稳定...怎么解决?