------- android培训、java培训、期待与您交流! ----------
一,BufferedWriter类
代码:
//创建一个字符写入流对象
FileWriter fw = new FileWriter("buf.txt");
//加入缓冲技术,提高字符写入流效率
BufferedWriter bufw = new BufferedWriter(fw);
bufw.write("abcde");
//刷新后,数据才会真正写入到文件当中
bufw.flush();
bufw.close();
// fw.close();//缓冲区只是提高效率才存在的,真正对文件进行操作的依然是FileWriter对象,因此关闭缓冲区,就会关闭字符流对象
注意1:关于换行,windows系统中要使用\r\n,linux系统中使用\n,而\r就成了多余字符了。
在缓冲区对象中,newLine()方法解决了这个问题。它在windows系统和linux系统都会正确显示换行符。
注意2: 只有缓冲区对象才有newLine()方法。也就是只有用缓冲区,才可以用newLine()方法。
注意3:记住关于刷新操作flush(),最好写一次刷一次,即调用write一次,就要调用flush一次。避免因掉电等原因,缓冲区的数据清空了,却还没有刷新到文件当中。
二,BufferedReader类
注意1:BufferedReader类有一个方法readLine()可以每次读取一行
注意2:readLine()方法,读到文件尾返回空,而不是像FileReader一样读到文件尾时返回-1
FileReader fr = new FileReader("buf.txt");
BufferedReader bufr = new BufferedReader(fr);
String line = null;
while((line=bufr.readLine()) != null){
System.out.println(line);
}
//String s1 = bufr.readLine();
//System.out.println(s1);
bufr.close();
注意:BufferedWriter类和BufferedReader类都是针对字符流而言的。
BufferedWriter类将文本写入字符输出流。
BufferedReader类从字符输入流中读取文本。