Android - 将本地html作为文本文件读取:使用InputStreamReader.read和BufferedReader.readLine之间的差异

时间:2012-04-27 09:09:26

标签: android text inputstream innerhtml bufferedreader

我必须将html作为文本文件读取,并且我已经实现了两种不同的方法,如SO线程所述。我清理html,只留下正文内容,使用document.write(string)将它放入DOM中,但只有当我使用Bufferedreader.readLine()(在循环中附加stringBuilder)时它才有效。事实上,如果我在Logcat窗口中打印stringBuilder.toString(),我会看到当使用BufferedReader.readLine()时,stringBuilder会显示在Logcat窗口的一行中,而使用InputStreamReader.read(charArray,0, (int)numBytes)它显示为多行(我使用的是真实设备)。也许这可能是相关的,并建议哪个是问题。我的问题是:我如何清理或处理读取的char数组(charArray,0,(int)numBytes)与readLine()循环中追加的stringBuilder相同?

1 个答案:

答案 0 :(得分:0)

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

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