您的位置:首页 > Web前端

BufferedInputStream的mark和reset。

2018-02-03 14:56 447 查看
/**
* FileName:FileInputStreamException.java
* @author zhanggw
* @date 2018年2月3日 下午1:19:01
*/
package fkjava;

import java.io.BufferedInputStream;
import java.io.FileInputStream;

/**
* @ClassName FileInputStreamException
* @author zhanggw
* @date 2018年2月3日 下午1:19:01
*/
public class FileInputStreamExceptionDemo {
public static void main(String[] args) throws Exception{
BufferedInputStream bufferedInputStream = new BufferedInputStream(new FileInputStream("d://temp/MethodParameterTest.java"));

// 开始读取内容
int hasRead = 0;
byte[] buff = new byte[64];
int readTimes = 0;
while((hasRead=bufferedInputStream.read(buff))!=-1){
System.out.println(new String(buff,0,hasRead));
if(readTimes==1){
System.out.println("开始标记");
bufferedInputStream.mark(bufferedInputStream.available()+1);
}
readTimes++;
}

// 回退重读
System.out.println("开始回退重读");
bufferedInputStream.reset();
byte[] newBuff = new byte[64];
int newLen = 0;
while((newLen=bufferedInputStream.read(newBuff))!=-1){
System.out.println(new String(newBuff,0,newLen));
}

bufferedInputStream.close();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息