本帖最后由 彭润生 于 2012-9-16 12:17 编辑
class MyBufferedStream
{
private InputStream is;
private byte[] buf = new byte[1024];
private int pos=0,count=0;
MyBufferedStream(InputStream is)
{
this.is = is;
}
public int myRread()throws IOException//这儿为什么不返回byte,其InputStream中read也是返回int。为什么要返回int,既然里面读的直接就是byte,为什么不返回byte呢。
{
if(count==0)
{
count = is.read(buf);
if(count<0)
return -1;
pos = 0;
byte b = buf[pos];
pos++;
count--;
return b&255;//提升字节。
}
else if(count>0)
{
byte b = buf[pos];
pos++;
count--;
return b&0xff;
}
}
public void myClose()throws IOException
{
is.close();
}
}
|