字节缓冲流构造方法
何为字节缓冲流, BufferOutputStream:该类实现缓冲输出流。通过设置这样的输出流,应用程序可以像底层输出流写入字节,而不必为写入的每个字节导致底层的系统调用。
BufferedInputStream:创建BufferedInputStream将创建一个内部缓冲区数组,当从流中读取或跳过字节时,内部缓冲区将根据需要从所包含的输入流中重新填充,一次多个字节。
构造方法:
我们来用代码实现一下:
public static void main(String[] args) throws Exception, UnknownHostException {
//字节缓冲输出流 BufferedOutputStream(OutputStream out)
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("D:\\suxiaoxiao\\sisi.txt"));
bos.write("钱塘苏小小".getBytes());
bos.close();
//字节缓冲输入流
BufferedInputStream bis = new BufferedInputStream(new FileInputStream("D:\\suxiaoxiao\\sisi.txt"));
//一次读取一个字节数组数据
byte[] bys = new byte[1024];
int len;
while((len = bis.read(bys))!=-1){
System.out.println(new String(bys,0,len));
}
bis.close();
}
字节缓冲流读取视屏:我们来实现下
public static void main(String[] args) throws Exception, UnknownHostException {
//有个需求 把D:\\suxiaoxiao\\sisi.avi这个视屏复制到C:\\suxiaoxiao目录下
//我们来实现下
//字节缓冲流一次读写一个字节数组
BufferedInputStream bis = new BufferedInputStream(new FileInputStream("D:\\suxiaoxiao\\sisi.avi"));
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("C:\\suxiaoxiao\\sisi.avi"));
byte[] bys = new byte[1024];
int by;
while ((by=bis.read(bys))!=-1) {
bos.write(by);
}
bis.close();
bos.close();
}