迭代并写入ObjectOutputStream

时间:2014-02-26 22:03:30

标签: objectoutputstream

我应该何时使用以下代码关闭ObjectOutputStream?谢谢大家...

 try{
    ObjectOutputStream output = new ObjectOutputStream(client.getOutputStream());
    AnObject[] array = new AnObject[4];
    for(int i = 0; i < array.length ; i++){
        array[i] = new AnObject();
        output.writeObject(array[i]);
    }
    output.flush();
    output.close();
    }
catch(IOException e){
      processException();
}

1 个答案:

答案 0 :(得分:0)

每当你使用它时。您应该flush()发送之后,强制通过添加到流的缓冲区中的所有数据到您的客户端Object*Streams的基础流(OutputStream包装器),即使流的缓冲区不是'满了。

此外,在结束前无需刷新,因为output.close()会调用flush()

看起来你在发送数据后关闭了它,所以除非你有更多的东西通过你的客户端流发送,否则你正在关闭。