Java基础教程——缓冲流
Posted tigerlion
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基础教程——缓冲流相关的知识,希望对你有一定的参考价值。
缓冲流
“缓冲流”也叫“包装流”,是对基本输入输出流的增强:
字节缓冲流: BufferedInputStream , BufferedOutputStream
字符缓冲流: BufferedReader , BufferedWriter
缓冲流的基本原理:
创建流对象时,会创建一个缓冲区数组,通过缓冲区读写,减少系统IO次数,以提高读写效率。
就像送快递,快递小哥一次带一件当然慢,所以用车来运输,跑一趟可以带很多件。
以字符流为例:
|-读文件:FileReader + BufferedReader
|-写文件: FileWriter + BufferedWriter
package ahjava.p05io;
import java.io.*;
public class 字符流
public static void main(String[] args)
字符流R();
字符流W();
static void 字符流R()
File file = new File("testRead.dat");
// 通过文件对象创建文件读取流对象
FileReader fr;
try
fr = new FileReader(file);
// 将文件读取流包装成缓冲读取流
BufferedReader br = new BufferedReader(fr);
String str;
while ((str = br.readLine()) != null) // 逐行读取数据
System.out.println(str);
br.close(); // 关闭流
fr.close(); // 关闭流
catch (IOException e)
e.printStackTrace();
static void 字符流W()
File file = new File("testFileWriter.txt");
// 通过文件对象创建文件输出字符流对象
FileWriter fw;
try
fw = new FileWriter(file);
// 将文件输出字符流包装成缓冲流
BufferedWriter bw = new BufferedWriter(fw);
bw.write("萨瓦迪卡");
bw.newLine(); // 换个新行
bw.write("どうぞ よろしく お愿いします");
bw.close(); // 关闭流
fw.close(); // 关闭流
catch (IOException e)
e.printStackTrace();
字节流也有包装流,试用包装流改写文件复制的代码,并测试程序效率提升的情况。
java.io.BufferedOutputStream
java.io.BufferedInputStream
以上是关于Java基础教程——缓冲流的主要内容,如果未能解决你的问题,请参考以下文章