由下面的代碼可以得知,這個類的緩沖區默認情況下最大值是8192個字節,也就是說默認情況下能存儲8192個字節
public class BufferedInputStream extends FilterInputStream {private static int DEFAULT_BUFFER_SIZE = 8192;
mark方法mark(N);
:標記當前讀取的位置到當前讀取的位置+N的這一段數據,如果N小于8192,則將N=8192,所以下面兩個代碼效果是完全一樣的
mark(666);//此處666完全沒有起作用,因為小于8192,被8192替代
mark(8192);
我用“N”和“N之后”來表示調用mark方法后的數組樣子,如下圖
reset方法reset()
:調用reset方法時候,當前讀取位置,必須處于N范圍之內,例如下面的數組情形就是錯誤的
java的io有什么用。而下面圖4的數組情形就是正確的
所以當在圖4之后,執行了reset之后,再次執行read方法,則會讀取到位置4的數據,而不是位置11的數據
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态