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();
            }
    
        }
  • 相关阅读:
    C#把外部文件拖入PictureBox中
    DirectInfo.GetFiles返回数组的默认排序
    NULL在SQLServer数据库日志文件中的存储
    C#中用NamedPipe进程间通信
    punycode和中文相互转换
    C#事件和委托的基础知识模型
    反射APP_CODE下的类和方法
    [ListView.View=List]的垂直滚动条
    换个思路"SQL2005下字符串字段内的字符排序"
    mono for android 的ADB
  • 原文地址:https://www.cnblogs.com/yeyangtao/p/10807739.html
Copyright © 2011-2022 走看看