Android-IO流之缓冲字符流BufferedReader/BufferedWriter

目录

  1. BufferedReader/BufferedWriter
    --8.1 BufferedReader 缓冲输入字符流
    --8.2 BufferedWriter 缓存输出字符流
    --8.3 用BufferedWriter和BufferedReader进行拷贝

8. BufferedReader/BufferedWriter(需要flush()才可写入)

8.1 BufferedReader

读取字符时会一次读取若干字符到缓冲区,然后逐个返回给程序,降低读取文件的次数。

  1. BufferedReader常用构造方法
public BufferedReader(Reader in)
  1. BufferedReader重要方法
public int read()
public int read(char cbuf[], int off, int len)
String readLine(boolean ignoreLF)
public String readLine()

8.2 BufferedWriter

写出字符时先写到缓冲区,缓冲区写满再写到文件,降低写文件的次数,提高效率。

  1. BufferedWriter常用构造方法
public BufferedWriter(Writer out)
  1. BufferedWriter重要方法
public void write(int c) 
public void write(char cbuf[], int off, int len)
public void write(String s, int off, int len)
public void newLine() //可输入一个跨平台的换行符
public void flush() 
public void close()

8.3 用BufferedWriter和BufferedReader进行拷贝

方式一:

        File dir = Environment.getExternalStorageDirectory();
        File file = new File(dir, "abc.txt");
        File dst = new File(dir, "dst4.txt");

        FileReader fr = new FileReader(file);
        BufferedReader br = new BufferedReader(fr);
        FileWriter fw = new FileWriter(dst);
        BufferedWriter bw = new BufferedWriter(fw);


        int len = -1;
        char[] buffer = new char[1024];
        while ((len = br.read(buffer)) != -1) {
            bw.write(buffer, 0, len);
            bw.flush();
        }

        fr.close();
        br.close();
        fw.close();
        fw.close();

方式二:

        File dir = Environment.getExternalStorageDirectory();
        File file = new File(dir, "abc.txt");
        File dst = new File(dir, "dst4.txt");

        FileReader fr = new FileReader(file);
        BufferedReader br = new BufferedReader(fr);
        FileWriter fw = new FileWriter(dst);
        BufferedWriter bw = new BufferedWriter(fw);


        String line = null;
        while((line = br.readLine())!=null){
            bw.write(line);
            bw.newLine();//可输入一个跨平台的换行符
            bw.flush();
        }

        fr.close();
        br.close();
        fw.close();
        fw.close();
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 概述: 1、IO流:即Input Output的缩写。 2、特点:1)IO流用来处理设备间的数据传输。2)Java...
    玉圣阅读 1,265评论 0 3
  • # 3.1 File # ## 3.1.1 File基本概念 ## 1.基本概念 -File类用于表示文件(目录)...
    闫子扬阅读 485评论 0 0
  • 1 IO(二)No19 【 缓冲流:内置了缓冲区,对现有的流对象进行了封装,实现了高效的读写操作并增强了功能 ...
    征程_Journey阅读 723评论 0 1
  • 公交车行驶在 天安门前 车上 一京腔怒指着一村妇 你一乡下人,有什么了不起 村妇答京妇 你是北京咋啦 你是给北京人...
    斌部t蛟阅读 224评论 0 0
  • 今天这小天真扎实,难道是要下雪的节奏?下班回来闺女又和往常一样滔滔不绝的跟我“汇报”了她一天在学校的事情!“汇报”...
    五颜六色的圆圈小宿阅读 108评论 0 0