才努力接了几天分,就被人骂了。呵呵,无奈的同时,散分。http://community.csdn.net/Expert/topic/4948/4948074.xml?temp=.3546717顺便问个问题:怎样在写入socket的outputStream之前,获得所要写入的对象的大小?效率越高越好。
因为我想把所有数据大小作为数据流的头发送出去。所发送数据的示例如下:
数据长度|数据流(这里是我序列化过去的一系列对象)。

解决方案 »

  1.   

    应该只能把对象序列化成流之后调用availableSize()
    接分!!
      

  2.   

    先把这个对象变成一个byte数组,得到它的长度就可以了
    接分哦
      

  3.   

    dreamover(梦醒了) ( ) 信誉:100  2006-08-14 17:16:00  得分: 0  
     
     
       up!
    !
    -----------------------------------------------------呵呵,这是我最标准的回复方法,哈哈  
     
      

  4.   

    你把一个什么对象做“写入”啊?是你自己定义的吗?如果是的话,在它的身上定义一个 getSize(),让它自己报上来,hehe顺便接分!   ;P
      

  5.   

    我个人的理解是:只能在内存中先进行序列化,完成后才能知道字节数,然后再把字节数以及序列化结果送到 socket 去。你所说的“效率不够高”,大概是说,不想在内存中做序列化,直接输出到 socket 去,是吧?我觉得有点玄。不做序列化怎么能得到长度呢?或者说,即使能得到,代价恐怕会更大。与其搞个很复杂的算法,不如多占点内存好了。除非你要序列化的东西*超大*
      

  6.   

    我对J2EE不专业,只管接分了先