java.io.PushbackInputStream
protected byte[] buf; // pushback buffer
protected int pos;
读取方向很重要,设计挺巧妙的
读取时,如果pushback buffer中有,则优先从buffer中读取,否则,从InputStream中读取;
--pos,即从pushback buffer中申请1个字节的空间,放入回退的字节b
pos -= len,即从pushback buffer中申请len个字节的空间,放入回退的字节数组b
unread单个字节好理解;unread多个字节,对照数据结构,应该好点
org.springframework: spring-webmvc: 5.2.7.RELEASE中
AbstractMessageConverterMethodArgumentResolver中的内部类EmptyBodyCheckingHttpInputMessage,有用到该功能