使用Java和readLine()回车和换行
我使用以下代码建立HTTP连接并读取数据:
con = (HttpURLConnection) new URL("http://stream.twitter.com/1/statuses/sample.json").openConnection(); ... con.connect(); while (line = rd.readLine()) { if (line.contains("\r\n")) { System.out.println("Carriage return + new line"); } }
但是,似乎“\ r \ n”不是字符串( line
)的一部分,尽管服务器确实返回它们。 如何读取数据并检测“\ r \ n”?
谢谢,
乔尔
如果rd
的类型为BufferedReader
,则无法确定readLine()
返回以\n
, \r
或\r\n
结尾的内容…行尾字符将被丢弃而不是返回的部分串。
如果您真的关心这些字符,则无法通过readLine()
。 例如,您必须通过read()
逐个read()
字符。
来自javadocs :
public String readLine() throws IOException
阅读一行文字。 一条线被认为是由换行符(’\ n’),回车符(’\ r’)或回车符中的任何一个终止,后面紧跟换行符。
返回:
包含行内容的String, 不包括任何行终止字符 ;如果已到达流的末尾,则为null
抛出:
IOException – 如果发生I / O错误