您的位置:首页 > Web前端

JAVA-IO流中缓存区的使用(BufferedReader和BufferedWriter)以及复制内容

2016-10-14 17:12 447 查看
前言:在java中为了提高FileWriter的写入效率,出现了BufferedWriter缓存技术

     缓存区的出现是为了提高流的操作效率而出现的,所以在创建缓存区之前,必须要先有流对象

一、BufferedWriter的使用方法

/*字符写入流缓存区
* 在java中为了提高FileWriter的写入效率,出现了BufferedWriter缓存技术
* 缓存区的出现是为了提高流的操作效率而出现的,所以在创建缓存区之前,必须要先有流对象
* 该缓存区中提供了一个跨平台的换行符就是.newLine()
*/
public static void BufferedWriterDemo() throws IOException{
//创建一个字符写入流对象
FileWriter fWriter = new FileWriter("bfWriter.txt");
//为了提高字符写入流的效率,加入了缓冲技术
//只要将需要被提高效率的流对象作为参数传递给缓冲区的构造函数即可
BufferedWriter bfWriter =new BufferedWriter(fWriter);
for (int i = 0; i < 5; i++) {
bfWriter.write("abcdefg");
bfWriter.newLine();
}
//记住,只要用到缓冲区,就要记得刷新。
// fWriter.flush();
//其实关闭缓存区,就是在关闭缓存区中流对象,所有不再需要关闭fWriter对象
bfWriter.close();
}

二、BufferedReader方法的使用

/*
* 字符读取流缓存区
* 该方法提供了一个每次读取一行内容的方法.readLine(),方便对文本数据的获取。
*/
public static void BufferedReaderDemo() throws IOException{
//创建一个读取流对象和文件相关联
FileReader fReader = new FileReader("bfWriter.txt");
//为了提高效率,加入缓存技术,将字符流对象传递缓存对象的构造函数
BufferedReader bfReaed = new BufferedReader(fReader);
String line = null;
while ((line = bfReaed.readLine())!=null) {//每次读取一行
System.out.println(line); //上面返回的line中的readLine方法中不包含换行符
}
bfReaed.close();
}
三、练习:利用缓存区的功能把A文件复制到B文件中
//使用缓存区复制一个.java文件
public static void BufferedDemo(){
BufferedWriter bfWriter = null;
BufferedReader bfReader =null;
try {
bfWriter = new BufferedWriter(new FileWriter("Demo.txt"));
bfReader = new BufferedReader(new FileReader("E:\\JAVA\\TestMap\\src\\com\\diaobao\\map\\TastMap.java"));

String line = null;
while ((line = bfReader.readLine())!=null) {
bfWriter.write(line);
bfWriter.newLine(); //因为每次是读取一行内容,所以显示一行后就得换行
bfWriter.flush(); //刷新内容
}
} catch (IOException e) {
throw new RuntimeException("读写错误!");
}finally{
if (bfWriter !=null) {
try {
bfWriter.close();
} catch (Exception e2) {
throw new RuntimeException("写入关闭失败!");
}
}

if (bfReader !=null) {
try {
bfReader.close();
} catch (Exception e2) {
throw new RuntimeException("读取关闭失败!");
}
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐