BufferedWriter()字符读取流缓冲区。
import java.io.FileWriter;
import java.io.BufferedWriter;
import java.io.IOException;
/*
* 缓冲区的出现是为了提高流的操作效率而出现的。
* 所以在创建缓冲区之前,必须要先有流对象。
*
* */
public class BufferedWriterDemo {
public static void main(String[] args) throws IOException {
// 创建一个字符写入流对象。
FileWriter fw = new FileWriter("buf.txt");
// 为了提高字符写入流效率,加入了缓冲技术。
// 只要将需要被提高效率的流对象作为参数传递给缓冲区的构造函数即可。
BufferedWriter bufw = new BufferedWriter(fw);
bufw.write("leesung_heima");
bufw.newLine();// 写入一个行分隔符。
bufw.write("waitting for me heima");
// 记住,只要用到缓冲区,就要记得刷新。
bufw.flush();// 刷新该流的缓冲。
// 其实关闭缓冲区,就是在关闭缓冲区中的流对象。
bufw.close();// 关闭此流,但要先刷新它。
}
}
BufferedReader()字符写入流缓冲区。
/*
* 字符读取流缓冲区
* 该缓冲区提供了一个一次读一行的方法readline,方便于对文本数据的获取。
* 当放回null时,表示读到文件末尾。
*
* */
public class BufferedReaderDemo {
public static void main(String[] args) throws IOException {
// 创建一个读取流对象和文件相关联。
FileReader fr = new FileReader("buf.txt");
// 为了提高效率,加入缓冲技术,将字符读取流对象作为参数传递给缓冲对象的构造函数。
BufferedReader bufr = new BufferedReader(fr);
String line = null;
while ((line = bufr.readLine()) != null) {
System.out.println(line);
}
bufr.close();
}
}
运行结果。
leesung_heima
waitting for me heima
通过缓冲区复制一个*.java文件
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class CopyJavatextDemo {
/**
* 通过缓冲区复制一个。java文件。
*
* @throws IOException
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
BufferedReader bufr = null;
BufferedWriter bufw = null;
try {
bufr = new BufferedReader(new FileReader("testjava.java"));
bufw = new BufferedWriter(new FileWriter("CopyJava.txt"));
String line = null;
while ((line = bufr.readLine()) != null) {
bufw.write(line);
bufw.newLine();
bufw.flush();
}
} catch (IOException e) {
// TODO Auto-generated catch block
throw new RuntimeException("读写失败");
} finally {
try {
if(bufr!=null)
bufr.close();
} catch (IOException e) {
// TODO Auto-generated catch block
throw new RuntimeException("读取关闭失败");
}
try {
if(bufw!=null)
bufw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
throw new RuntimeException("写入关闭失败");
}
}
}
}