谁知道如何在服务器端使用 input.readUTF();读出我的inputstream啊;还有就是如何把那多余的两行去掉?

解决方案 »

  1.   

    为啥一定要用readUTF。如果用于手机通讯直接用字节传。
    readUTF包括writeUTF,直接用好像涉及编码问题,的确会遇到楼主的现象,也不知如何解决。
      

  2.   

    用CRLFreadUTF是因为比较简单可以直接得到想发送的字符,逐个字符读也可以不过要自己去掉协议的部分,于是遇到了第2个问题(多出两行),本来可以直接读到CRLF就把后面的当做有用信息,多出这两行虽然不是什么大问题 不过看着很头痛,想把它搞掉。
      

  3.   

    你发出去的 message 里面写的什么啊,你分几次发出去的,
    你 readLine 后怎么把几个 line 组装成那个你不满意的结果的啊?
      

  4.   

    message里面是一个xml文件,当然是一次发的。output.write(message.getBytes());啊。
    readLine组装的没有问题,换一种逐个字符的读法得到的结果也是一样的。
    StringBuffer request = new StringBuffer(2048);
    int i;
    byte[] buffer = new byte[2048];
    try {
    i = input.read(buffer);
    } catch (IOException e) {
    e.printStackTrace();
    i = -1;
    }
    for (int j = 0; j < i; j++) {
    request.append((char) buffer[j]);
    }
    System.out.print(request.toString());