package com.inmind.buffered_stream01; import java.io.*; /* 字符缓冲流的基本使用 字符缓冲流: BufferedReader , BufferedWriter 字符缓冲输入流:BufferedReader 构造方法 BufferedReader(Reader in) 创建使用默认大小的输入缓冲区的缓冲字符输入流。 常用方法: int read() 读一个字符 int read(char[] cbuf) 将字符读入数组。 ------------------------------------------------------------------------------------- 字符缓冲输出流:BufferedWriter 构造方法: BufferedWriter(Writer out) 创建使用默认大小的输出缓冲区的缓冲字符输出流。 常用方法: void write(int c) 写一个字符 void write(char[] cbuf) 写入字符数组的一部分。 void write(char[] cbuf, int off, int len) 写入字符数组的一部分。 void write(String s) 写一个字符串的一部分。 void write(String s, int off, int len) 写一个字符串的一部分。 注意: 1.字符缓冲流的基本使用与昨天的字符流一模一样 2.字符缓冲流就是底层封装了一个8192的字符数组,提高字符流的读写效率 */ public class Demo04 { //字符缓冲输出流的基本使用 public static void main(String[] args) throws IOException { // BufferedWriter bw = new BufferedWriter(new FileWriter("a.txt",true)); BufferedWriter bw = new BufferedWriter(new FileWriter("a.txt")); bw.write('我'); char[] chars = {'是','谁'}; bw.write(chars); bw.write("我在哪我在干嘛"); bw.close(); } //字符缓冲输入流的基本使用 public static void method(String[] args) throws IOException { BufferedReader br = new BufferedReader(new FileReader("a.txt")); //一次读取一个字符 /*int ch;//用来接收读取到的字符 while ((ch = br.read()) != -1) { System.out.print((char) ch); }*/ //一次读取一个字符数组 char[] chars = new char[1024];//用来保存字符流读取到的字符数据 int len;//用来保存读取到的字符个数 while ((len = br.read(chars)) != -1) { System.out.print(new String(chars,0,len)); } br.close(); } }