下面的代碼使用的BufferedReader從HTTP響應流,讀:如何將文本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'?因爲即使沒有換行符,任何解析器都應該處理響應 – Najzero 2013-03-14 10:27:57
是的,內容類型是「text/xml」。爲了系統的目的,它並不需要人爲可讀,但它被記錄到日誌文件中,因此需要這樣做。 – 2013-03-14 10:31:22
好,那麼我建議通過一個「漂亮的打印」庫(也照顧身份證)運行它。我認爲http://sourceforge.net/projects/jtidy/會很漂亮。只需將整個響應砸碎並請求相當的打印輸出 – Najzero 2013-03-14 10:35:19