BufferedInputStream和BufferedInputStream

   BufferedInputStream是带缓冲区的输入流,默认缓冲区大小是8M,能够减少访问磁盘的次数,提高文件读取性能;BufferedOutputStream是带缓冲区的输出流,能够提高文件的写入效率。BufferedInputStream与BufferedOutputStream分别是FilterInputStream类和FilterOutputStream类的子类,实现了装饰设计模式。

例1:
package day01;

import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;

/**
* 缓冲流写出数据的注意事项
*
*/
public class BOSDemo {
public static void main(String[] args) throws IOException {
FileOutputStream fos = new FileOutputStream(“bos.txt”);
BufferedOutputStream bos= new BufferedOutputStream(fos );
String str = “随便写点什么吧”;
byte[] data = str.getBytes();
bos.write(data);
/*
* 将缓冲区中的数据强制性写出。
*/
bos.flush();
bos.close();
}
}
例2:使用BufferedInputStream和BufferedOutputStream完成MP3的复制:

package day01;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
/**
 * 使用缓冲流提高读写效率
 * @author Administrator
 *
 */
public class CopyDemo4 {
public static void main(String[] args) throws IOException {
    FileInputStream src=new FileInputStream("草原歌曲 - 我要去西藏.mp3");
    BufferedInputStream bis=new BufferedInputStream(src);//使用缓冲输入流提高读取效率
    FileOutputStream fos=new FileOutputStream("草原歌曲 - 我要去西藏aa.mp3");
    BufferedOutputStream bos=new BufferedOutputStream(fos);//使用缓冲输出流提高写出效率
    int d=-1;
    while((d=bis.read())!=-1){
        bos.write(d);//读写时就基于缓冲流

    }
    System.out.println("复制完毕");
    bos.close();
    bis.close();
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值