BufferedReader:
package ioTest.io2;
/*
* BufferedReader:该缓冲区提供了一个一次读一行的方法
* readline();
*
* 加入缓冲区技术的优点是什么呢?
* 原来我是读一个字符取一个字符,现在变成我读一行字符,将其放在数组中,然后再取。
* 这样是不是提高了效率。实际上BufferedReader类底层实现的原理,就是利用了数组。
*/
import java.io.BufferedReader;
import java.io.FileReader;
public class BufferedReaderDemo {
public static void main(String[] args) throws Exception {
//创建输入流
FileReader in=new FileReader("ioTest1.txt");
//关联BufferedReader
BufferedReader br=new BufferedReader(in);
System.out.println((char)br.read());
System.out.println(br.readLine());
//也可以利用br.readLine()的返回值作为循环的条件。是否为null
}
}
BufferedWriter:
package ioTest.io2;
import java.io.BufferedWriter;
import java.io.FileWriter;
/*
* 字符流的缓冲区技术子类:是为了提高流操作的性能,一般做文件读写操作,都要用缓冲技术。
* 所以缓冲区的出现是建立的流对象的基础上,这个从构造函数的参数也可以看出来。
* BufferedWriter,BufferedReader
*/
public class BufferedWriterDemo {
public static void main(String[] args) throws Exception {
//创建一个写入流对象-输出流
FileWriter out=new FileWriter("ioTest1.txt");
BufferedWriter bw= new BufferedWriter(out);
bw.write("abcdefg");
bw.flush();
bw.close();
//关闭了缓冲区对象,实质上就是关闭了流对象,因为本质上还是流对象调用了系统的资源做了文件的写入操作。
//out.close();//这里面无需再关闭流对象。
}
}