我不是JAVA程序员:请各位JAVA兄弟帮忙:
SOCKET client = ..........;
.................
//以前是创建客户端SOCKET,连接到服务器
DataOutputStream dos = new DataOutputStream(client.getOutputStream());//发送数据给服务器.byte [] bytBuffer = .................;dos.write(bytBuffer);
//请问在这里需要调用dos.flush吗?别人的程序在这里没有调用.但我不敢肯定.

解决方案 »

  1.   

    一般write()完了以后就应该调用flush()
      

  2.   

    应该调用flush()或者,如果dos马上关闭,dos会在关闭前自动调用flush()
      

  3.   

    不是所有的情况都要调用flush方法。
    请看下面的贴:
    http://community.csdn.net/Expert/topic/4800/4800968.xml?temp=.1741144
      

  4.   

    close时会自动调用,不过应该调用flush()及时写入文件同时释放内存
      

  5.   

    最好用flush()来刷新缓冲区的内容,因为你不刷新的话,要是你要缓冲区没满就不会有输出,所以最好用,楼上说的close时会自动调用也是可以的,