s-day10-字符缓冲流的基本使用

This commit is contained in:
2026-08-11 15:54:38 +08:00
parent d521a77f34
commit 7dbe4eb3ad
@@ -0,0 +1,64 @@
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();
}
}