试试这个代码 -
import java.io.StringReader;
public class StringReaderTest
{
public static void main(String[] args) throws Exception
{
String sampleString = "abcdefg";
StringReader reader = new StringReader(sampleString);
for(int i=0; i<40; i++)
{
char c = (char) reader.read();
System.out.print(c);
}
}
}
输出是 -
abcdefg?????????????????????????????????
所以读者实际上已经读过了输入的结尾。我的印象是,当它试图读取“g”以外的内容时,它应该抛出异常,但事实并非如此。相反,它返回了一个“?” 特点。这是一个错误还是这是预期的行为?