if(condition){
//  write( utf8
}else{
// write byte
}
这种不可以吗?

解决方案 »

  1.   

    没太明白,DataOutputStream是往外写数据,只有对方接收才用读啊...
    如果你说的是写完后对方接收的问题,这两个方法写出去后收到的数据流没有区别。
    “writeUTF("字符串")”使用后其实就是将字符串转成utf格式的byte[]数组,再写出去。
    你可以参考一下DataOutputStream的源代码。
      

  2.   

    我就是想写聊天室程序       用writeUTF写入聊天的内容,用write(byte[])传送文件,然后接收方用相应的readUTF(),read(byte[])接收,这两个单独写入数据,用个条件语句设立两个分开的入口,互不干扰.
      我就是担心write(byte[])的数据会被readUTF()读入.
      

  3.   

    我知道线程能够实现,我觉得可以不用线程,我传的文件不大(<1GB)我一次性把文件传过去,这个过程很快,所以对聊天没有什么影响.
    求方法.2楼那个condition是什么?麻烦解释下.
      

  4.   

    你得看看 readUTF()方法是不是阻塞模式的,具体的看jdk api ,如果是阻塞的方式,还是得单独启用线程监听,监听端读取数据一般都是要单独启用线程来操作的