【发布时间】:2012-05-08 00:57:52
【问题描述】:
我必须将 html 作为文本文件读取,并且我已经实现了两种不同的方法,如 SO 线程中所述。我清理了 html,只留下了正文内容,使用 document.write(string) 将其放入 DOM 中,这两种方法都有,但只有在我使用 Bufferedreader.readLine() 时它才有效(在循环中附加一个 stringBuilder)。事实上,如果我在 Logcat 窗口中打印 stringBuilder.toString() 我会看到当使用 BufferedReader.readLine() 时 stringBuilder 在 Logcat 窗口中显示在单行上,而使用 InputStreamReader.read(charArray,0, (int)numBytes) 它显示多行(我使用的是真实设备)。也许这可能是相关的,并提出了问题所在。我的问题是:如何清理或处理 read(charArray,0,(int)numBytes) 读取的 char 数组与 readLine() 循环中附加的 stringBuilder 相同?
【问题讨论】:
-
您知道
BufferedReader#readLine()在返回行时不包含行终止符吗?这就是导致您获得“单行”logcat 输出的原因 - 实际上,您正在使用此方法剥离 \n(和 \r)字符的 HTML。如果您包含任何 部分或类似样式,这将导致您的 HTML 呈现不正确。 -
感谢您的重要建议,我想我必须再问一个问题。
标签: android text inputstream innerhtml bufferedreader