I may be missing the point, but why not keep the ```BufferedReader``` (I like buffers when doing IO) and change this line to: ```stringBuffer.append("\r\n");```?

In fact, it would generate one extra CR at the end, but this could be fixed easily.