package com.inmind.buffered01; 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 Demo03 { //字符缓冲输出流写字符的基本操作,与字符流一模一样 public static void main(String[] args) throws Exception { BufferedWriter bw = new BufferedWriter(new FileWriter("source2.txt")); bw.write('我'); char[] chars = {'爱', '中', '国'}; bw.write(chars); bw.write(chars,1,2); bw.write("外面又在下暴雨了"); bw.flush(); bw.close(); } //字符缓冲输入流读取字符的基本操作,与字符流一模一样 public static void method(String[] args) throws Exception { BufferedReader br = new BufferedReader(new FileReader("source1.txt")); //一次读取一个字符 /*int ch;//保存读取的字符数据 while ((ch = br.read()) != -1) { System.out.println((char) ch); }*/ //一次读取一个字符数组 char[] chars = new char[1024]; int len; while ((len = br.read(chars)) != -1) { System.out.println(new String(chars,0,len)); } br.close(); } }