您好!您的问题是关于Java程序无法读取Perl的STDERR。这是因为Java和Perl在处理错误输出时有所不同。
Java中,可以使用System.err
来获取标准错误输出流。而Perl中,错误输出默认是通过STDERR文件句柄输出的。要在Java中读取Perl的STDERR,您需要将Perl脚本的STDERR重定向到STDOUT,然后在Java中读取STDOUT。
您可以在Perl脚本中添加以下代码来实现这一点:
open(STDERR, ">&STDOUT");
这将把Perl的STDERR重定向到STDOUT,这样Java就可以读取到错误输出了。
另外,您还可以使用Java的ProcessBuilder
来启动Perl脚本,并通过Process
对象的getInputStream()
和getErrorStream()
方法分别读取STDOUT和STDERR。
希望这个答案能够帮助您解决问题!如果您还有其他问题,请随时提问。
领取专属 10元无门槛券
手把手带您无忧上云