字节流缓冲区 代码:
import java.io.*;
public class code
{
public static void main(String[] args) throws IOException {
copy_1();
}
public static void copy_1() throws IOException {
BufferedInputStream bis = new BufferedInputStream(new FileInputStream("1.mp3"));
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("2.mp3"));
int len = 0;
while((len=bis.read())!=-1) {
bos.write(len);
}
bis.close();
bos.close();
}
}
自定义字节流的缓冲区 代码:
class MyBufferedInputStream
{
private InputStream in;
private byte[] buf = new byte[1024*5];
int count=0,pos=0;
MyBufferedInputStream(InputStream in) {
this.in = in;
}
//一次读一个字节,从缓冲区(字节数组)获取
public int myRead() throws IOException
{
//通过in对象读取硬盘上数据,并存储到buf中
if(count==0) {
count = in.read(buf);
if(count<0)
return -1;
pos=0;
byte b = buf[pos];
count--;
pos++;
return b&255;
}
else if(count>0)
{
byte b = buf[pos];
count--;
pos++;
return b&255;
}
return -1;
}
}