一 字符缓冲流
概述
字符流为了提高效率也提供了对应的缓冲流
二 BufferedReader
概述
字符缓冲输入流 读数据
从字符输入流读取文本,缓冲字符,以提供字符,数组和行的高效读取
可以指定缓冲区的大小,或者可以使用默认大小。默认值足够大,可以用于大多数用途
构造方法
BufferedReader(Reader in)
//创建使用默认大小的输入缓冲区的缓冲字符输入流。
BufferedReader(Reader in, int sz)
//创建使用指定大小的输入缓冲区的缓冲字符输入流。
特有功能
String readLine()
//读一行文字
//注意:不一样的地方是当读取到末尾的时候返回的是 null 不是-1
readLine()方法的使用
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new FileReader("F:\\ll\\c.txt"));
String line = null;
while ((line=bufferedReader.readLine())!=null){
System.out.println(line);
}
bufferedReader.close();
}
字符缓冲流读数据
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new FileReader("F:\\ll\\b.txt"));
//一个字节的读
int i=0;
while ((i=bufferedReader.read())!=-1){
System.out.println((char) i);
}
bufferedReader.close();
}
//按数组读
char[] chs = new char[1024];
int i = 0;
while ((i=bufferedReader.read(chs))!=-1){
System.out.println(new String(chs,0,i));
}
bufferedReader.close();
}
}
三 BufferedWriter
概述
字符缓冲输出流 写数据
将文本写入字符输出流,缓冲字符,以提供单个字符,数组和字符串的高效写入。
可以指定缓冲区大小,或者可以接受默认大小。 默认值足够大,可用于大多数用途。
构造方法
BufferedWriter(Writer out)
//创建使用默认大小的输出缓冲区的缓冲字符输出流。
BufferedWriter(Writer out, int sz)
//创建一个新的缓冲字符输出流,使用给定大小的输出缓冲区。
特有功能
void newLine()
//写一行行分隔符。 根据当前系统来决定换行符
newLine()方法的使用
public static void main(String[] args) throws IOException {
BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter("F:\\ll\\c.txt"));
for (int i=0;i<5;i++){
bufferedWriter.write("WQFQF".toCharArray());
bufferedWriter.newLine();
bufferedWriter.flush();
}
bufferedWriter.close();
}
字符缓冲流写数据
public static void main(String[] args) throws IOException {
BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter("F:\\ll\\b.txt"));
bufferedWriter.write("sagag");
bufferedWriter.write("\r\nfwf".toCharArray());
bufferedWriter.flush();
bufferedWriter.close();
}