BufferedInputStream:字节缓冲输入流

BufferedOutputStream:字节缓冲输出流

BufferedWriter:字符缓冲输出流

BufferedReader:字符缓冲输入流

给基本的字节输入/输出流增加一个缓冲区(数组),提高基本的字节输入流 的读取效率


 

BufferedOutputStream:字节缓冲输出流

继承了父类OutputStream

构造方法:

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对象中的方法flusg,把内部缓冲区的数据,刷新到文件中

5、释放资源

FileOutputStream fos=new FileOutputStream("d:\\a.txt");
      BufferedOutputStream bos=new BufferedOutputStream(fos);
      String s="12345";
      bos.write(s.getBytes(StandardCharsets.UTF_8));
      bos.flush();
      bos.close();

 

BufferedInputStream字节缓冲输入流

继承了InputStream

构造方法:

BufferedInputStream(InputStream in):创建一个新的缓冲输入流

BufferedInputStream(InputStream in ,int size):创建具有指定缓冲区大小的BufferedInputStream,并保存其参数

缓冲流会给FileInputStream增加一个缓冲区,提高FileInputStream读取效率

使用步骤

1、创建FileInputStream对象,构造方法中绑定要读取的数据源

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

3、使用BufferedInputStream对象中的方法read,读取文件

4、释放资源

FileInputStream fin=new FileInputStream("d:\\a.txt");
int len=0;
while((len=fin.read())!=-1){
    System.out.print((char)len);
}
fin.close();

 

BufferWriter:字节缓冲输出流

继承了Writer

构造方法:

BufferedWriter(Writer out):创建一个使用默认大小输出缓冲区的缓冲字符输出流

BufferedWriter(Writer out,int sz):创建一个使用给定大小输出缓冲区的缓冲字符输出流

out参数可以传递FileWriter,缓冲流会给FileWriter增加一个缓冲区,提高FileWriter的写入效率

sz:指定缓冲区大小,不写默认大小

void newLine():写入行分隔符。会根据不同的操作系统,获取不同的行分隔符

使用步骤:
1、创建字符缓冲输出流对象,构造方法中传递字符输出流

2、调用字符缓冲输出流中的方法write,把数据写入到内存缓冲区中

3、调用字符缓冲输出流中的方法flush,把内存缓冲区的数据,刷新到文件中

FileWriter fw=new FileWriter("d:\\a.txt");
        BufferedWriter bw=new BufferedWriter(fw);
        String s="98989898";
        bw.write(s);
        bw.flush();
        bw.close();

 

BufferedReader:字节缓冲输入流

继承了Reader

构造方法:

BufferedReader(Reader in)          :创建一个使用默认大小输入缓冲字符输入流

BufferedReader(Reader in ,int sz):创建一个使用指定大小输入缓冲区的缓冲字符输入流

in可以传递FileReader,缓冲流会给FileReader增加一个缓冲区,提高FileReader的读取效率

特有的成员方法:

String readline():读取一个文本行,包含该行内容的字符串,不包含任何终止符,如果已经达到流末尾,则返回NULL

使用步骤:

1、创建字符缓冲输入流对象,构造方法中传递字符输入流

2、使用字符缓冲输入流对象中的方法read/readline读取文本

3、释放资源

BufferedReader br=new BufferedReader(new FileReader("d:\\a.txt"));
 String line;
 while((line=br.readLine())!=null){
      System.out.println(line);
 }
 br.close();