看完视频,模仿毕老师定义了一个自定义缓冲字节流,但总是文件复制不了,大神们帮看看哪出问题了啊?
自定义类代码如下:
public class MyBufferInputStream {
private InputStream inputStream;
public MyBufferInputStream(InputStream inputStream){
this.inputStream=inputStream;
}
private int pos=0,count=0;
private byte[] buf=new byte[1024*4];
public int myRead() throws IOException{
count=inputStream.read(buf);
if (count==0) {
byte b=buf[pos];
if (count<0) {
return -1;
}
pos++;
count--;
return b&255;
}else if (count>0) {
byte b=buf[pos];
pos++;
count--;
return b&255;
}
return -1;
}
public void myClose() throws IOException{
inputStream.close();
}
}
测试类代码:
FileInputStream inputStream=new FileInputStream("e:\\99.jpg");
MyBufferInputStream bf=new MyBufferInputStream(inputStream);
FileOutputStream outputStream=new FileOutputStream("e:\\00.jpg");
BufferedOutputStream of=new BufferedOutputStream(outputStream);
int ch;
while ((ch=bf.myRead())!=-1) {
of.write(ch);
}
of.close();
bf.myClose();
|
|