【发布时间】:2013-03-02 15:30:41
【问题描述】:
以下代码使用 BufferedReader 从 HTTP 响应流中读取:
final StringBuilder responseBuilder = new StringBuilder();
String line = bufferedReader.readLine();
while (line != null) {
responseBuilder.append(line);
responseBuilder.append('\n');
line = bufferedReader.readLine();
}
response = responseBuilder.toString();
但是将'\n' 附加到每一行似乎有点缺陷。我想完全按原样返回 HTTP 响应,那么如果它在最后一行之后没有返回字符怎么办?无论如何都会使用上面的代码添加一个 - 有没有更好的方法?
【问题讨论】:
-
我相信你得到了 html “文本”?那正确吗?您添加
\n是因为您希望它以“人类”可读的形式出现吗?因为即使没有换行符,任何解析器都应该处理响应 -
是的,内容类型是
text/xml。出于系统工作的目的,它实际上并不需要人类可读,但它被记录到日志文件中,因此需要这样做。 -
好吧,那么我建议通过“漂亮打印”库运行它(也照顾 ident)。我认为sourceforge.net/projects/jtidy 会很漂亮。只需将整个响应粉碎并请求漂亮的打印输出
标签: java bufferedreader readline eof carriage-return