码迷,mamicode.com
首页 > 其他好文 > 详细

缓冲流

时间:2020-04-20 23:26:02      阅读:90      评论:0      收藏:0      [点我收藏+]

标签:取数据   leo   行数据   tst   相关   oid   lib   adl   fileinput   

1、缓冲流

(1)缓冲流,也叫高效流,是对4个基本的FileXXX流的增强,按照类型分类:字节缓冲流:BufferedInputStream, BufferOutputStream;字符缓冲流:BufferedReader, BufferedWriter

(2)缓冲流的原理:在创建流对象时,创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO次数,从而提高读写的效率;

(3)BufferedOutputStream字节缓冲输出流,继承OutputStream,包含继承自父类的共性成员方法:

    1public void close();关闭此输出流,并释放与此流相关的系统资源;

    2public void flush();刷新此输出流,并强制任何缓冲的输出字节被写出;

    3public void write(byte[] b);b.length字节从指定的字节数组写入此输出流;

    4public void write(byte[] b, int off, int len);从指定的字节数组写入len字节,开始索引是off

    5public void write(int b);写入指定的字节;

 构造方法:1BufferedOutputStream(OutputStream out);参数是字节缓冲流,可以是FileOutputStream,给文件字节输出流增加一个缓冲区(缓冲区的大小为默认值),提高FileOutputStream的写入效率;

     2BufferOutputStream(OutputStream out, int size);int size:指定缓冲流内部缓冲区的大小;

(4)使用步骤:1》创建FileOutputStream对象,构造方法中绑定要输出的目的地;

       2》创建BufferOutputStream对象,构造方法中传递FileOutputStream对象,提高FileOutputStream对象的效率;

       3》使用BufferOutputStream对象的write方法,把数据写入到内部缓冲区;

       4》使用BufferOutputStream对象的flush方法,把内部缓冲区中的数据,刷新到文件中;

       5》释放资源(会先调用flush方法刷新数据,第4步可省略);【字符缓冲输出流类似,但其有一个特有方法void newLine();写入一个行分隔符,即换行】

(5)BufferInputStream字节缓冲输入流,继承InputStream,继承自父类的成员方法:

    1void read();从输入流中读取数据的下一个字节;

    2void read(byte[] b);从输入流中读取一定数量的字节,并将其存储在缓冲区数组b中;

    3void close();关闭此输入流,并释放与该流相关的系统资源;  

  构造方法:1BufferedInputStream(InputStream in);InputStream in:字节输入流,可以是FileInputStream,缓冲流会给FileInputStream增加一个缓冲区,提高其读取效率;

       2BufferedInputStream(InputStream in, int size);int size:指定缓冲流内部缓冲区的大小;

(6)使用步骤:1》创建FileInputStream对象,构造方法中绑定要读取的数据源;

       2》创建BufferedInputStream对象,构造方法中传递FileInputStream对象,提高其读取效率;

       3》使用BufferedInputStream对象的read方法,读取数据;

       4》释放资源(只关闭缓冲流即可,关闭缓冲流会自动把基本流关闭);

  【字符缓冲输入流类似,其由一个特有方法,String readLine();读取一个文本行,即读取一行数据,返回值包含该行内容的字符串,不包含任何行终止符,如果已到达流末尾,则返回null

缓冲流

标签:取数据   leo   行数据   tst   相关   oid   lib   adl   fileinput   

原文地址:https://www.cnblogs.com/xiaozhu1017/p/12741267.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!