java字节缓冲输出流(BufferedOutputStream)和字节缓冲输入流(BufferedInputStream)

java.io.BufferedOutputStream

java.io.BufferedOutputStream
继承关系:
*FilterOutputStream extends OutputStream
*BufferedOutputStream extends FilterOutputStream
构造方法:
*BufferedOutputStream(OutputStream out) 创建一个新的缓冲输出流,以将数据写入指定的底层输出流。
*BufferedOutputStream(OutputStream out, int size) 创建一个新的缓冲输出流,以便以指定的缓冲区大小将数据写入指定的底层输出流。
参数
*OutputStream out:字节输出流,通过传递一个FileOutputStream ,缓冲流会给FileOutputStream添加缓冲区提高FileOutputStream的写入效率
*int size:指定缓冲流内部缓冲区的大小,不指定即为默认值
使用步骤
*1.创建FileOutputStream对象,构造方法中指定输入目的地的。
*2.创建BufferedOutputStream对象,构造方法中传递FileOutputStream对象,提高FileOutputStream写入效率
*3.使用BufferedOutputStream中的write方法,把数据写入到缓冲区中
*4.使用BufferedOutputStream中的flush方法,把内部缓冲区的数据刷新到文件中
*5.释放资源(会先调用flush方法)

public class BufferedOSText1 {

	public static void main(String[] args) throws IOException {
		BOSText1();
	}
	private static void BOSText1() throws IOException   {
		OutputStream fos= new FileOutputStream("BufferedOSText1.txt",true);
		BufferedOutputStream bos= new BufferedOutputStream(fos);
		bos.write("这是使用缓冲字节输出流输出的数据\n".getBytes());
		bos.flush(); 
		//只需要释放BufferedOutputStream 
		bos.close(); 
	} 
	 
}

java.io.BufferedInputStream

java.io.BufferedInputStream
继承关系:
*FilterInputStream extends InputStream
*BufferedInputStream extends FilterInputStream
BufferedInputStream:字节缓冲输入流
构造方法:
*BufferedInputStream(InputStream in) 创建一个 BufferedInputStream并保存其参数,输入流 in ,供以后使用。
*BufferedInputStream(InputStream in, int size) 创建 BufferedInputStream具有指定缓冲区大小,并保存其参数,输入流 in ,供以后使用。
参数:
*InputStream in:字节输入流,通过传递FileInputStream对象字节缓冲输入流会给FileInputStream对象添加缓冲区,提高FileInputStream的读取速度
使用步骤:
*1.创建FileInputStream对象,并绑定文件读取源
*2.创建BufferedInputStream对象,将FileInputStream对象作为参数传入,提高FileInputStream的写入效率
*3.使用BufferedInputStream中的read方法,读取文件
*4.释放资源

public class BufferedISText1 {
	public static void main(String[] args) throws IOException {
		BOSText1();
	}

	private static void BOSText1() throws IOException {
		FileInputStream fis = new FileInputStream("BufferedISText1.txt");
		BufferedInputStream bis  = new BufferedInputStream(fis);
		//用len记录每次读取到的数据,len为-1表示读取到了文件末尾
//		int len=0;
//		while((len=bis.read())!=-1) {
//			System.out.print((char)len);
//		} 
		//使用byte数组读取,一次读取多个数据
		int len=0;//存储每次读取的个数
		byte[] bytes = new byte[1024];//存储每次读取的数据
		while((len=bis.read(bytes))!=-1) {
			System.out.println(new String(bytes,0,len));
		}
		//释放资源,只需要关闭缓冲流
		bis.close();
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值