java缓冲流简介说明

戚薇 Java经验 发布时间:2022-07-19 21:53:00 阅读数:7261 1
下文笔者讲述java缓冲流的简介说明,如下所示

缓冲流简介

缓冲流的功能:
    可以提高原始字节流、字符流读取数据的性能
例:
  缓冲流类似于我们南水北调中,一个一个储水池,这些缓冲流的作用主要用于提高水的传输
  避免各种不稳定的因素,导致水的运输异常
缓冲流分类:
  一种是字节缓冲流
  一种是字符缓冲流
分别是BufferedInputStream(字节缓冲输入流)
      BufferedOuputStream(字节缓冲输出流)
	  BufferedReader(字符缓冲输入流)
	  BufferedWriter(字符缓冲输出流)
字节缓冲流
字节缓冲输入流:
   BufferedInputStream
   提高字节输入流读取数据的性能
   读写功能上并无变化
字节缓冲输出流:
   BufferedOutputStream:
     提高字节输出流读取数据的性能
     读写功能上并无变化
构造器	说明
public BufferedInputStream(InputStream is)
  把低级的字节输入流包装成一个高级的字节缓冲输入流管道
   从而提高字节输入流读数据的性能
public BufferedOutputStream(OutputStream os)
  把低级的字节输出流包装成一个高级的字节缓冲输出流管道
   从而提高写数据的性能
例:
InputStream is = new FileInputStream("Test//data.txt");
InputStream bis = new BufferedInputStream(is);
OutputStream os = new FileOutputStream("Test//data01.txt");
OutputStream bos = new BufferedOutputStream(os);
int len;
byte []buffer = new byte[1024];
while ((len = bis.read(buffer))!=-1){
bos.write(buffer,0,len);
bos.flush();

使用字节缓冲流实现将一个文件中的内容
 复制在另一个文件之中

字符缓冲流

字符缓冲输入流的功能:
   BufferedReader
   提高字符输入流读取数据的性能
    及按行读取数据的功能
构造器
public BufferedReader(Reader r)
 把低级的字符输入流包装成一个高级的缓冲字符输入流管道
  从而提高字符输入流读数据的性能
public String readLine()	读取一行数据返回,如果读取没有完毕,无行可读取返回null
        Reader r = new FileReader("File//data.txt");
        BufferedReader br = new BufferedReader(r);//由于是子类独有的功能,所有不能使用多态创建
        String s;
        byte []buffer = new byte[1024];
        while ((s = br.readLine())!=null){
            System.out.println(s);
        }

//正常情况下会将文件中的数据依次输出;
        Reader r = new FileReader("File//data.txt");
        BufferedReader br = new BufferedReader(r);
        br.readLine();
        br.readLine();
//若文件中的数据不足两行:
//ujava265.com
//null

字符缓冲输出流

BufferedWriter
   提高字符输出流写取数据的性能
   及多了换行功能 
构造器
public BufferedWriter(Writer w)
  把低级的字符输出流包装成一个高级的缓冲字符输出流管道
  从而提高字符输出流写数据的性能
例:
public void newLine()	执行操作
        Writer w = new FileWriter("File//data.txt",true);
        BufferedWriter bw = new BufferedWriter(w);//由于是子类独有的功能,所有不能使用多态创建
        bw.write("alibaba");
        bw.newLine();
        bw.write("java265.com");
        bw.newLine();
        bw.flush();
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202207/16582388204002.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者