自定义一个字节缓冲区的简单示例
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();
}
}
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();
}
}
相关文章推荐
- java 文件上传 与 把文件解析成一个字节数组简单的后台示例
- 一个简单的自定义服务端控件
- 一个简单的自定义ClassLoader的实现
- 一个简单的分页控件,用来自定义分页用的
- Asp.net 2.0 一个简单的联动DropDownList示例(示例代码下载)
- 用Jbuilder8做一个简单的struts示例
- 小程序大问题,MSDN中一个小小示例所带来的疑问,一个关于DataList的一个简单应用
- (续)一个简单的iBatis示例
- 一个简单的iBatis示例
- .NET自定义异常的一个简单应用(转载)
- 一个简单的破解示例
- 最简单的一个Java窗体示例!
- .NET自定义异常的一个简单应用
- 一个简单的局域网多播示例
- 关于.Net Remoting 的一个简单示例
- Delphi7下用dbExpress调用Oracle存储过程(返回数据集)的一个简单示例和调试过程
- 一个简单的分页控件,用来自定义分页用的
- 一个序列化的简单示例
- 一个Forms验证简单示例
- 对3DES加密的运用的一个简单示例