这里我们讲解字符缓冲输入输入流BufferedReader,BufferedWriter的使用
回顾前面字节输出输出流----- 字节缓冲输入输出流 ,
缓冲输出输出流加上一个字节数组一个字节数组的存储数据,效率是最高得
在我们讲解 字符 输入输出流的时候,过程
1.为什么要使用字节输入输出流?
因为字节输入输出流一个字节一个字节读取的时候可能出现乱码
2.字符输入输出流实现自定义的编码格式
3.字符输入输出流的便捷类 FileWriter FileReader
4.字符缓冲流BufferedWriter BufferedReader
BufferedWriter BufferedReader的构造方法
BufferedWriter(Writer out)
BufferedReader(Reader in)
参数是字符输入输出流的祖宗抽象类 我们要使用Writer Reader 类的祖宗类
FileWriter FileReader ,或者 InputStreamReader,OutPutStreamWriter
建议FileWriter FileReader
//注意在读取的时候一定要读取有效长度
System.out.println(new String(chars , 0 ,len ));
public static void main(String[] args) throws IOException {
/*
使用字节缓冲流写入读取数据
*/
/*
// 1 开始写数据
//创建字符缓冲流对象
//写数据
FileWriter fw = new FileWriter("C:\\Users\\Administrator\\IdeaProjects\\Day07\\b.txt" ,true);
//true 可要可不要 代ture就是追加数据
BufferedWriter bw = new BufferedWriter(fw);
//一个字节数组一个字节数组写数据
char chars[] = "我和我的祖国,一刻也不能分割".toCharArray();
//写数据
bw.write(chars);
//释放资源
bw.close();
*/
// 2 开始读数据
//创建对象
FileReader fileReader = new FileReader("C:\\Users\\Administrator\\IdeaProjects\\Day07\\b.txt");
//创建字符缓冲流对象
BufferedReader bufferedReader = new BufferedReader(fileReader);
//一个字符数组一个字符数组的读
int len ;
char chars[] = new char[1024];
while ((len = bufferedReader.read(chars) ) != -1){
//注意在读取的时候一定要读取有效长度
System.out.println(new String(chars , 0 ,len ));
}
}