/*
测试BufferedInputStream类
时间:2015年3月10日10:11:37
BufferedInputStream类覆盖了基类InputStream的mark方法
public void mark(int readlimit);
在输入流中的当前位置上作标记。reset方法的后续调用将刺溜重新定位在最后标记的位置上,以便后续读取操作读取相同的字节
public void reset()throws IOException
将此流重新定位到对此输入流最后调用 mark 方法时的位置。
*/
import java.io.*;
public class TestBufferedInputStream {
public static void main(String[] args) {
int c = 0;
FileInputStream fis = null;
BufferedInputStream bis = null;
try {
fis = new FileInputStream("D:\\java\\container\\BasicContainer.java");
bis = new BufferedInputStream(fis);//bis中要使用InputStream抽象类的子类
System.out.println(bis.read());
System.out.println(bis.read());
bis.mark(100);
System.out.println();
for (int i=0; i<10 && (c = bis.read())!=-1; i++) {
System.out.print((char)c + " ");
}
bis.reset();
for (int i=0; i<10 && (c = bis.read())!=-1; i++) {
System.out.print((char)c + " ");
}
bis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
/*
D:\java\io>javac TestBufferedInputStream.java
D:\java\io>java TestBufferedInputStream
47
42
? ± ? ? ? ?
? ± ? ? ? ?
D:\java\io>? ± ? ? ? ?
*/