BufferedReader when reading JSON data… here is a solution to the problem.
BufferedReader when reading JSON data
Why do we add\nwhen
reading JSON
data with BufferedReader
?
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
while((line = reader.readLine())!=null){
sb.append(line + "\n");
}
Solution
You’re not adding \n
– you’re putting a newline character after it, which is effectively engulfed by readLine().
For example, if your text file originally consists of 5 lines:
line1
line2
line3
line4
line5
Then reader.readLine
() will return (in successive calls) “line1”, “line2”, “line3”, “line4”, “line5
"
… No
BufferedReader
detected the end of the line at the end of the line
So, if you only have sb.append(line),
you’ll end up with a StringBuilder
: that contains the following
line1line2line3line4line5
That being said, this code seems a bit pointless – it really just normalizes line breaks. Unless you really need it, you’re better off using the call read instead of readLine()
and copying the text this way….