zoukankan      html  css  js  c++  java
  • I/O————缓存流

    为什么要使用缓存流?

    当对磁盘访问次数多的时候,字节流和字符流就会感觉性能不佳,速度较慢。

    缓存流,一次会读取很多的数据到缓存中,以后每一次读取都是从缓存中读取,直到缓存中数据读取完,这样就减少了io操作,提升了速度。就像拿碗吃饭一样,碗就相当于是缓存,不用吃每一口饭就向锅里盛。

    分类

    缓冲流分为字节和字符缓冲流

    字节缓冲流为:
    BufferedInputStream—字节输入缓冲流
    BufferedOutputStream—字节输出缓冲流
    字符缓冲流为:
    BufferedReader—字符输入缓冲流
    BufferedWriter—字符输出缓冲流

    使用BufferedReader字符输入缓冲流和PrintWriter读取和写入文件

    注意:缓存流必需要建立在一个已存在流的基础上

              readline()读取一行,遇到回车(\r)或者换行符(\n)才会返回读取结果,这就是“读取一行的意思”

              

    public static void main(String[] args) {
            File file = new File("D:\\lolfilder\\lol.exe\\bufferdemo.txt");
            File file1 = new File("D:\\lolfilder\\lol.exe\\bufferdemo1.txt");
            try(//创建字符输入流
                //创建缓存流,缓存流必需建立在一个字符流基础上
                    FileReader fr=new FileReader(file);
                    BufferedReader br = new BufferedReader(fr);    
                    //输出流与缓存流
                    FileWriter fw = new FileWriter(file1);
                    PrintWriter pw = new PrintWriter(fw);
                    
                    ) 
            {
                //readline()读取一行,遇到回车(\r)或者换行符(\n)才会返回读取结果,这就是“读取一行的意思”
                String line = br.readLine();
                System.out.println(line);
                //写入
                pw.println("这是缓存流写入的结果第一行");
                pw.flush();
                pw.println("这是缓存流写入的结果第二行");
                
    
                
                
            } catch (Exception e) {
                e.printStackTrace();
            }
    
        }
  • 相关阅读:
    蓝牙基础学习
    树莓派识别TF卡内存错误导致内存可用减小解决方法
    有谁知道openwrt的系统的编译,烧录原理不吝赐教!
    树莓派显示屏输出设置
    树莓派连接摄像头做wifi视频
    Python3 安装PyUserInput从而实现鼠标点击事件
    树莓派ssh连接并使用sftp协议拷贝文件到电脑
    python tkinter 中 listbox绑定scrollbar实现自动循环滚动
    Python Tkinter学习
    代理模式
  • 原文地址:https://www.cnblogs.com/yeyangtao/p/10807739.html
Copyright © 2011-2022 走看看