【Java—–IO流(三)之缓冲流详解】

梦想不抛弃苦心追求的人,只要不停止追求,你们会沐浴在梦想的光辉之中。再美好的梦想与目标,再完美的计划和方案,如果不能尽快在行动中落实,最终只能是纸上谈兵,空想一番。只要瞄准了大方向,坚持不懈地做下去,才能够扫除挡在梦想前面的障碍,实现美好的人生蓝图。【Java—–IO流(三)之缓冲流详解】,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

缓冲流概述

缓冲流也称为高效流,或者高级流,字节流可以称为原始流。缓冲流自带缓冲区,可以提高原始字节流和字符流读写数据的性能。缓冲流的原理就是,创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区进行读写,减少系统的IO次数,提高读写效率。

缓冲流分类

缓冲流可以分为字节缓冲流和字符缓冲流

字节缓冲流

  • 字节缓冲输入流:BufferedInputStream
  • 字节缓冲输出流:BufferedOutputStream

字符缓冲流

  • 字符缓冲输入流:BufferedReader
  • 字符缓冲输出流:BufferedWriter

字节缓冲流的使用

构造方法

public BufferedInputStream(InputStream in):创建一个新的缓冲输入流,可以把低级的字节输入流包装成一个高级的缓冲字节输入流管道,从而提高字节输入流读数据的性能

File file=new File("D:\\aaa\\helloworld.txt");
FileInputStream fis=new FileInputStream(file);	
BufferedInputStream bis=new BufferedInputStream(fis);

public BufferedOutputStream(OutputStream out):创建一个新的缓冲输出流,可以把低级的字节输出流包装成一个高级的缓冲字节输出流管道,从而提高字节输出流写数据的性能

File file=new File("D:\\aaa\\helloworld.txt");
FileOutputStream fos=new FileOutputStream(file);	
BufferedOutputStream bos=new BufferedIOutputStream(fos);

字节缓冲流的使用

File file=new File("D:\\aaa\\helloworld.txt");
FileInputStream fis=new FileInputStream(file);
FileOutputStream fos=new FileOutputStream(file);
BufferedInputStream bis=new BufferedInputStream(fis);
BufferedOutputStream bos=new BufferedOutputStream(fos);
byte[] b=new byte[1024];
int len;
while((len=bis.read(b))!=-1) {
	bos.write(b,0,len);
}
System.out.println("复制完成了");

字符缓冲流的使用

构造方法

public BufferedReader(Reader r):创建一个新的缓冲输入流,可以把低级的字符输入流包装成一个高级的缓冲字符输入流管道,从而提高字符输入流读数据的性能

File file=new File("D:\\aaa\\helloworld.txt");
FileReader fr=new FileReader(file);
BufferedReader br=new BufferedReader(fr);

public BufferedWriter(Writer w):创建一个新的缓冲输出流,可以把低级的字符输出流包装成一个高级的缓冲字符输出流管道,从而提高字符输出流写数据的性能

File file=new File("D:\\aaa\\helloworld.txt");
FileWriter fw=new FileWriter(file);
BufferedWriter bw=new BufferedWriter(fw);

字符缓冲流新增功能

public String readLine():读取一行数据返回,如果读取没有完毕,无行可读返回null

File file=new File("D:\\aaa\\helloworld.txt");
BufferedReader br=new BufferedReader(fr);
String line;
while((line=br.readLine())!=null) {
	System.out.println(line);
}

public void newLine():换行操作

File file=new File("D:\\aaa\\helloworld.txt");
FileWriter fw=new FileWriter(file);
BufferedWriter bw=new BufferedWriter(fw);
bw.write("我是中国人");
bw.newLine();
bw.write("中国人不骗中国人");

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/153913.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!