使用Java正确启动命令行过程并不容易。我建议您使用commons- exec而不是自己尝试。
现在,您在命令行中有两件事需要特殊处理:
AWK脚本周围的单引号。当您将每个参数作为单独的字符串传递给CommandLine
via时addArgument
,就不再需要引号了。
由于创建了子进程,因此您可以控制stdin和stout。这意味着您需要打开要在Java中追加的目标文件,将其包装在中PumpStreamHandler
并将其传递给DefaultExecutor
。
在Java中执行AWK命令
使用Java正确启动命令行过程并不容易。我建议您使用commons- exec而不是自己尝试。
现在,您在命令行中有两件事需要特殊处理:
AWK脚本周围的单引号。当您将每个参数作为单独的字符串传递给CommandLine
via时addArgument
,就不再需要引号了。
由于创建了子进程,因此您可以控制stdin和stout。这意味着您需要打开要在Java中追加的目标文件,将其包装在中PumpStreamHandler
并将其传递给DefaultExecutor
。