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();