65 lines
2.2 KiB
Java
65 lines
2.2 KiB
Java
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();
|
||
}
|
||
}
|