我们有一个 Perl 程序来验证从 Java 程序调用的 XML。它无法写入标准错误并挂在打印位置。
Perl 正在写入 STDERR,而 java 程序正在使用 getErrorStream() 函数读取 STDERR。但是 Perl 程序正在挂起写入 STDERR。我怀疑 Java 函数完全阻塞了 STDERR 流,而 Perl 正在等待这个流被释放。
Perl 中有没有办法克服这种阻塞并强制写入标准错误?由于 Java 仅进行读取,因此 API 不应按照 java doc 锁定 STDERR 流。
Perl 代码片段是:
sub print_error
{
print STDERR shift;
}
Java代码片段是:
while ( getErrorStream() != null )
{
SOP errorMessage;
}
提前感谢帮助。
谢谢, 马修 Liju