zoukankan      html  css  js  c++  java
  • BufferInputStream、BufferOutputStream、BufferedReader、BufferedWriter、Java代码使用BufferedReader和BufferedWriter实现文本文件的拷贝

    BufferInputStream和BufferOutputStream的特点:

    缓冲字节输入输出流,缓冲流是处理流,它不直接连接数据源/目的地,而是以一个字节流为参数,在节点流的基础上提供一些简单操作。

    先说不带缓冲流的工作原理吧,它读取到一个字节/字符,就向用户指定的路径写出去,读一个写一个,所以就慢了,带缓冲流的工作原理,读取到一个字节/字符,先不输出,等凑足了缓冲的最大容量后一次写出去,从而提高了工作效率。

    优点:减少对硬盘的读取次数,降低对硬盘的损耗。

    附:

    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.io.Reader;
    import java.io.Writer;

    /**
    * 使用BufferedReader和BufferedWriter实现文本文件的拷贝
    * @author Administrator
    *
    */
    public class BufferOperateStr {
    public static void main(String[] args) {
    copy();
    }
    static void copy(){
    Reader reader = null;
    BufferedReader br = null;
    Writer writer = null;
    BufferedWriter bw = null;
    try {
    //第一部分:准备从文件读数据到程序
    reader = new FileReader(new File("d://a.txt"));
    //创建缓冲流包装对象reader
    br = new BufferedReader(reader);
    //第二部分:准备从程序写到文件;创建写入对象writer
    writer = new FileWriter(new File("d:\a3.txt"));
    //创建缓冲流包装writer
    bw = new BufferedWriter(writer);
    String str = null;
    //用循环边读边写
    while((str=br.readLine())!=null){
    bw.write(str);
    bw.newLine();
    }
    bw.flush(); //清空缓冲区
    } catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }finally{
    try {
    if (bw!=null) {
    bw.close();
    }
    if (br!=null) {
    br.close();
    }
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    }
    }

  • 相关阅读:
    如何使不同时区的时间与京8区一致?(JS实现)
    再论递归
    如何实现keep-alive
    [小tips]使用vscode,根据vue模板文件生成代码
    gulp-load-task 解决 gulpfile.js 过大的问题
    《Vue 编程房内考》
    前端开发笔试题汇总
    HTTP状态码及其含义 503 500 401 200 301 302
    IE, FF, Safari前端开发常用调试工具
    DOCTYPE与浏览器模式详解(标准模式&混杂模式)
  • 原文地址:https://www.cnblogs.com/7758521gorden/p/8046767.html
Copyright © 2011-2022 走看看