关于java通过socket接受xml的问题

sesame172 2013-11-30 09:46:10
新手,希望高手帮忙解答下,谢谢。
下面的是我发给服务器请求后服务器应该返回的消息。但我只能打印出第一排的消息(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
...全文
291 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
tony4geek 2013-12-05
  • 打赏
  • 举报
回复
要一行行的读。
huangxw000 2013-12-05
  • 打赏
  • 举报
回复
StringBuffer sb = new StringBuffer();
String str = null;
while((str = input.readLine() )!=null){
    sb.append(str);
}
anod 2013-11-30
  • 打赏
  • 举报
回复
String response = input.readLine(); 用这个不行,只读出了一行(从开始读到第一个回车或第一个回车换行为止)。应该先把所有内容读到一个内部缓冲,然后再输出。

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧