Java – IO流 – BufferedStream缓冲流
简介
BufferedStream缓冲流包含了
缓冲字节输出流 BufferedOutputStream,
缓冲字节输入流 BufferedInputStream,
缓冲字符输出流 BufferedWriter
缓冲字符输入流 BufferedReader
BufferedStream 缓冲流是基于以上流进行改造而来,最大的特点是,它包含了流的缓冲机制,对于字节流而言,提升比较高,但是对于字符流而言,性能上的提升不会太高,因为字符流中,本身就已经存在了缓冲机制。
阅读本文之前,需要有一定的IO流知识,如要跟进阅读,可点击下面文章进行阅读
BufferedInputStream 缓冲字节输入流
缓冲字节输入流 会在读数据时,默认会读取8192字节数据到内存中,如果取出的数据示超出8192字节时,所取出的数据都来自内存缓冲区
创建缓冲字节流
// 设定默认为 8192 大小的缓冲流
public BufferedInputStream(InputStream in);
//设定自定义缓冲区大小的缓冲流
public BufferedInputStream(InputStream in, int size);
读数据
// 每次读取一个字节,返回字节数据对应的二进制转十进制数
public int read();
// 每次读取指定数组数量字节,返回读取的长度
public int read(byte[] b);
BufferedOutputStream 缓冲字节输出流
缓冲字节输出流 会在写数据时,默认会写到8192字节数据到内存中,如果写出的数据示超出8192字节时,才会把8192字节的数据写出到硬盘中
创建缓冲字节流
// 设定默认为 8192 大小的缓冲流
public BufferedOutputStream(OutputStream out);
//设定自定义缓冲区大小的缓冲流
public BufferedOutputStream(OutputStream out, int size);
写出数据
// 写出一个字节
public void write(int data);
// 写出一个byte数组数据
public void write(byte[] b);
// 写出一个byte数组数据,取出索引和取的长度
public void write(byte[] b, int index, int len);
BufferedWriter 缓冲字符输出流
缓冲字符输出流 会在写出文字时,默认会写到8192个 char[] 数据成员到内存中,如果写出的数据示超出8192个成员时,才会把8192个字符的数据写出到硬盘中
创建缓冲字符输出流
// 创建一个默认为 8192 个字符的缓冲区
public BufferedWriter(Writer out);
// 创建一个指定数量字符的缓冲区
public BufferedWriter(Writer out, int size);
写出一行数据
缓冲字符输出流 中提供了一个特有的功能,就是能一次写出一行文字数据,不包括换行符
// 直接写出一行文字数据
public void write(String s)
// 直接写出一行文字中的指定位置和长度的数据
public void write(String s, int off, int len)
// 创建一个新行,兼容所有操作系统的回车换行符
public void newLine()
BufferedReader 缓冲字符输入流
缓冲字节输入流 会在读数据时,默认会读取8192个char[] 数据成员到内存中,如果取出的数据未超出8192个 char[] 数据成员时,所取出的数据都来自内存缓冲区
// 创建一个默认为 8192 个字符的缓冲区
public BufferedReader(Reader in);
// 创建一个指定数量字符的缓冲区
public BufferedReader(Reader in, int size);
读取一行文字
缓冲字符输入流 提供独有的方法,可以一次读取一行文字,但不包含换行符,如果读取完,会返回 null
// 读取一行数据,读完返回 null
public String readLine()
释放缓冲流
涉及文件输出的流操作,都应该关闭流文件操作
close();
共有 0 条评论