缓冲流和正常流的使用大致相同,缓冲流效率更高。
package day10_io_fileWrite_Read.buffer_stream; import java.io.*; /*
* BufferedWriter:将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。
* BufferedReader:从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。
*/
public class BufferedStream {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new FileReader("c.txt")); //bufferedreader(reader)
BufferedWriter bw = new BufferedWriter(new FileWriter("copy.txt")); // //一次读写一个字符
// int len;
// while((len=br.read())!=-1) {
// bw.write(len);
// }
//
//一次读写一个数组
char[] arr = new char[];
int len1;
while((len1=br.read(arr))!=-) {
bw.write(arr);
} bw.close();
br.close();
}
}
二、缓冲流特殊功能--一次读写一行数据(不读取换行符)
package day10_io_fileWrite_Read.buffer_stream; import java.io.*; /*
* 缓冲流的特殊功能:
* BufferedWriter
* void newLine():写一个换行符,这个换行符由系统决定
* BufferedReader
* String readLine():一次读取一行数据,但是不读取换行符
*/
public class BufferLine {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new FileReader("b.txt"));
BufferedWriter bw = new BufferedWriter(new FileWriter("copy.txt")); /*一次读取一行
String line = br.readLine();
System.out.println(line);
line = br.readLine();
System.out.println(line);//当行读完时返回为null
*/ String len;
while((len=br.readLine())!=null) {
bw.write(len);
bw.newLine();
bw.flush();
} bw.close();
br.close();
}
}