Java类错误:java.io.IOException:管道正在关闭

san*_*jay 5 java pipe

我们间歇地得到"java.io.IOException:管道正在关闭",代码如下.本质上非常间歇性.有什么建议?我试图复制这个,当我从网络断开我的机器,然后我能够得到这个错误.Siebel CRM会话打开后,此类读取和写入信息.

这里有Java类代码.

   private Process _process;
   private OutputStream _processOut;
   private ByteArrayOutputStream _sessionOutput;
....
   _processOut = _process.getOutputStream();
   _sessionOutput = new ByteArrayOutputStream();
....
 public void writeCommand(String command)
   throws IOException
   {
      _processOut.write(command.getBytes());
      _processOut.flush();
      _sessionOutput.write(command.getBytes());

   }
Run Code Online (Sandbox Code Playgroud)

这里有实际错误:

java.io.IOException: The pipe is being closed
    at java.io.FileOutputStream.writeBytes(Native Method)
    at java.io.FileOutputStream.write(FileOutputStream.java:260)
    at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
    at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123)
    at mySession.writeCommand(mySession.java:169)
Run Code Online (Sandbox Code Playgroud)

Ste*_*n C 6

发生的事情是您尝试写入的外部进程已关闭连接到其标准输入流的管道.它可能刚刚退出.

尝试阅读并打印流程标准输出和标准错误,看看他们是否对正在发生的事情做出解释.