美文网首页
BufferedReader和BufferedWrite的使用

BufferedReader和BufferedWrite的使用

作者: Super_l1 | 来源:发表于2017-08-17 00:29 被阅读0次

    一.关于IO

    1.什么是IO
    IO的本质是对文件的处理。包括文件的读写、标准设备输出等。Java中以流进行输入输出的。IO流分为字符流与字节流。

    2.字符流和字节流的区别
    很简单,字符流的底层是字节流。两种的用法也不一样,字符流主要是读取文本文件内容的,可以一个字符一个字符的读取,也可以一行一行的读取文本内容,大多用于处理字符串。而字节流读取的单位为byte,byte是计算机存储最基本单位,可以用字节流来读取很多其他的格式文件:比如图片、视频等等。

    二.为什么要用BufferedWrite和BufferedReader

    因为该流带有默缓存字符输入输出流,因为有缓存区所以效率很高。众所周知,在android开发中执行效率是非常重要的。
    android中有很多场景:比如从接口获取数据,获取就直接写入到本地。第二次直接从本地获取数据,这样减少了网络请求带来的风险,并且提升了效率,增加了用户体验。

    三.BufferedWrite和BufferedReader的使用

    1.BufferedWrite的使用
    该类是将字符写入到文件中,很简单直接上代码;

            FileWriter fw = new FileWriter("Buffered.txt");
            BufferedWriter bufw = new BufferedWriter(fw);
            bufw.write("hello world");
            bufw.newLine(); //这是BufferedWrite特有的方法 作用是换行起到了分割的作用
            bufw.write("!hello world");
            bufw.flush();
            bufw.close();
    

    看看效果:


    Paste_Image.png

    创建了Buffered.txt的文件,并输写入了write()中的内容。

    问题:如果再次执行会往该文件继续插入数据还是覆盖之前数据呢?
    答案:经过实验 会覆盖数据。

    2.BufferedReader的使用
    该类是读取文件中的字符串,主要的方法是 int read(); //读取单个字符 String readLine(); //读取一个文本行

            Reader fr = new FileReader("Buffered.txt");  
            BufferedReader bufr = new BufferedReader(fr);
            String content = "";
            String line = null;
            while((line = bufr.readLine()) != null) {
                content += line;
            }
            System.out.println(content);
    

    看下效果:


    Paste_Image.png

    四.总结

    这样就简单介绍完了IO流中的BufferedReader与BufferedWrite。在平常的编码中,效率是最非常重要的,所以该两种流也是用的比较多的。写的也比较简洁,写的复杂了反而是会影响各位看管的理解_
    IO流有很庞大的分支,如果每个分支都介绍完是个浩大的工程,但是会一种流之后其他的也是一样的套路,最后献上IO的层级关系图。

    Paste_Image.png

    相关文章

      网友评论

          本文标题:BufferedReader和BufferedWrite的使用

          本文链接:https://www.haomeiwen.com/subject/caawrxtx.html