StringReader的toString方法不返回StringReader内部缓冲区.
你需要从StringReader读取这个.
我建议使用接受字符数组的read的重载.批量读取速度高于单字符读取.
即.
//use string builder to avoid unnecessary string creation.
StringBuilder builder = new StringBuilder();
int charsRead = -1;
char[] chars = new char[100];
do{
charsRead = reader.read(chars,chars.length);
//if we have valid chars,append them to end of string.
if(charsRead>0)
builder.append(chars,charsRead);
}while(charsRead>0);
String stringReadFromReader = builder.toString();
System.out.println("String read = "+stringReadFromReader);