0

我必须将 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 相同?

4

1 回答 1

0

BufferedReader.readLine()方法读取到行尾并返回 不包括换行符的值。因此,当您将其附加到 a 时,StringBuffer所有内容都会附加到一行。但是,在 的情况下InputStreamReader.read,还包含换行符,导致字符串显示为多行。

为了使行为相似,您必须在使用时跳过换行符InputStreamReader.read

于 2012-04-27T09:14:44.160 回答