ServletInputStream is = request.getInputStream();
is.readLine(new byte[1024], 0, 1024);
is.readLine(new byte[1024], 0, 1024);
is.readLine(new byte[1024], 0, 1024);
is.readLine(new byte[1024], 0, 1024);
byte[] data = new byte[93240];
然后如何将次流转化为byte[]   该如何做呢???
这里用的是文件上传  还有此流会有协议尾  该如何去除呢?

解决方案 »

  1.   

    流应该只朝一个方向流动   
      对于一些流,比如ByteArrayOutputStream,可以转换成字串   
      然后通过字串处理
      

  2.   

    然后如何将次流转化为byte[]  该如何做呢??? 
    你说的是讲多个byte[]合并成一个byte[]数组吧?可以用System.arrayCopy这里用的是文件上传  还有此流会有协议尾  该如何去除呢?
    用正则表达式
      

  3.   

    ServletInputStream is = request.getInputStream();
    byte[] buf = new byte[1024];
    byte[] data = new byte[93240];
    int cnt = 0;
    while (is.readLine(buf, 0, 1024) > 0) {
        System.arraycopy(buf, 0, data, cnt, buf.length);
        cnt += buf.length;
    }
    把协议尾也转成byte[],然后从data中去掉协议尾byte[]长度的信息