BufferedReader 在读取 Json 数据时

BufferedReader While Reading Json Data

为什么我们在用 BufferedReader 读取 JSON 数据时添加 \n

BufferedReader reader = new BufferedReader(new InputStreamReader(is));
while((line = reader.readLine())!=null){
    sb.append(line + "\n");
}

你不是在添加一个\n - 你是在放一个换行符,readLine()有效地吞下了。例如,如果您的文本文件最初由 5 行组成:

line1
line2
line3
line4
line5

然后 reader.readLine() 将 return(在连续调用中)"line1""line2""line3""line4""line5"...没有行结束处 BufferedReader 检测到行尾。

因此,如果您只有 sb.append(line),您最终会得到一个 StringBuilder,其中包含:

line1line2line3line4line5

话虽如此,代码似乎 有点 毫无意义 - 它实际上只是规范化换行符。除非你真的需要它,否则你最好使用 call read 而不是 readLine() 并以这种方式复制文本...