怎么把服务端的流读取进 byte数组?

解决方案 »

  1.   

    InputStream.read(byte[] b)
    InputStream.read(byte[] b,int off, int len)
      

  2.   

    DataInputStream in = new java.io.DataInputStream(con.getInputStream());
    我用的是这个,怎么把这里的 in的数据读入byte啊,能给段具体的代码吗?
    上面的方法我试了,出错:Premature EOF
      

  3.   

    不一定要用DataInputStream,但最好能用BufferedInputStream封装一下,这样速度快
    Eof是说流结束了
    你要读取数据,必须知道数据长度呀
    一般我们做流输入,都要发个自己的报文头来描述数据长度。比如发送端发送1024个byte,那么一般我会在流前面发送4个长度数字描述数据长度,这个头可以是任何东西你先通过byte headbuf[]=new byte[4];in.read(headbuf);读到head,解析出长度len
    然后byte buf[]=new byte[len];in.read[len];来读取数据细节再自己考虑考虑