关于java通过socket接受xml的问题
新手,希望高手帮忙解答下,谢谢。下面的是我发给服务器请求后服务器应该返回的消息。但我只能打印出第一排的消息(HTTP/1.1 200 OK),请问怎么能打印出来所有的信息?我的代码在下面
HTTP/1.1 200 OK
Content‐Type: text/xml
Content‐Length: 56
<?xml version="1.0" encoding="UTF‐8"?>
<Class>
<Number>123456</Number>
<Name>Xiao</Name>
</Class>
我用的方法:
...
BufferedReader input = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String response = input.readLine();
System.out.println("the response is " + response);
得到的结果:the answer is HTTP/1.1 200 OK java xml --------------------编程问答-------------------- String response = input.readLine();
用这个不行,只读出了一行(从开始读到第一个回车或第一个回车换行为止)。应该先把所有内容读到一个内部缓冲,然后再输出。 --------------------编程问答--------------------
StringBuffer sb = new StringBuffer();--------------------编程问答-------------------- 要一行行的读。
String str = null;
while((str = input.readLine() )!=null){
sb.append(str);
}
补充:Java , Java SE