您的位置:首页 > 其它

自定义一个字节缓冲区的简单示例

2014-08-10 10:44 225 查看
package day06;

import java.io.*;

class MyBufferedInputStream {

private InputStream in;

private byte[] buff=new byte[1024];

private int pos=0,count=0;

MyBufferedInputStream(InputStream in){

this.in=in;

}

//一次读一个字节,从缓冲区(字节数组)获取

public int myRead() throws IOException{

//通过in对象读取硬盘上的数据,并存储到buff中

if(count==0){

count=in.read(buff);

if(count<0){

return -1;

}

pos=0;

byte by=buff[pos];

count--;

pos++;

//由于会出现所读取文件的数据是-1的情况会与返回-1标记相同导致停止,所以将读取的数据与上255转成int类型

return by&255;

}

else if(count>0){

byte by=buff[pos];

count--;

pos++;

return by&255;

}

else{

return -1;

}

}

public void myClose() throws IOException{

in.close();

}

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