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

This commit is contained in:
2026-03-23 11:11:23 +08:00
parent 6c1c87969b
commit 933456c8f6

View File

@@ -0,0 +1,65 @@
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();
}
}