zoukankan      html  css  js  c++  java
  • Java基础之IO流,字符流缓冲区

    字符流的缓冲区:

    1、缓冲区的出现提高了对数据的读写效率。
    2、对应类:
       a)BufferedWriter
       b)BufferedReader
    3、缓冲区要结合流才可以使用。
    4、在流的基础上对流的功能进行了增强。

    一、字符流的写缓冲区:

    import java.io.*;
    import java.util.*;
    import java.text.*;

    class BufferedWriterDemo
    {
        /*
            缓冲区的出现是为了提高流的操作效率而出现的。
            所以在创建缓冲区之前,必须要先有流对象。
        
    */
        public static void main(String[] args) throws IOException,InterruptedException
        {
            //创建一个字符写入流对象
            FileWriter fw = new FileWriter("bufferedWriter.txt",false);
            
            /*
                为了提高字符写入流效率。
                加入了缓冲技术,只要将需要被提高效率的流对象作为参数传递给缓冲区的构造函数即可。
            
    */
            BufferedWriter bw = new BufferedWriter(fw);        
            for(int i=0;i<10;i++)
            {
                bw.write(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:S E").format(new Date()));
                bw.newLine();
                Thread.sleep(1000);
                
                //只要用到缓冲区,就要记得刷新
                bw.flush();
            }
            
            //其实关闭缓冲区,就是在关闭缓冲区中的流对象,因为不再需要手动关闭流对象
            if(bw!=null) bw.close();
            /*if(fw!=null) fw.close();*/
        }
    }

    二、字符流的读缓冲区:

    import java.io.*;
    class BufferedReaderDemo
    {
        /*
            字符流读取缓冲区:
            该缓冲区提供了一个一次读一行的方法 readLine(),方便于对文本数据的获取。
            当返回 null  时,读到文件末尾。
        
    */
        public static void main(String[] args) throws IOException
        {
            //创建一个读取流对象和文件相关联
            FileReader fr = new FileReader("bufferedWriter.txt");
            
            /*
                为了提高效率,加入缓冲技术。
                将字符读取流对象作为参数传递给缓冲对象的构造函数。
            
    */
            BufferedReader br = new BufferedReader(fr);
            
            //sop(br.readLine());
            String line = null;
            while((line=br.readLine())!=null)
            {
                sop(line);
            }
            br.close();
        }
        
        public static void sop(Object obj)
        {
            System.out.println(obj);
        }
    }
  • 相关阅读:
    C# FTP上传文件时出现"应 PASV 命令的请求,服务器返回了一个与 FTP 连接地址不同的地址。"的错误
    ESP32 学习笔记
    ESP32 学习笔记
    C# 实现窗口无边框,可拖动效果
    C# 获取IP地址
    C# 实现程序开机自启动
    C# 设置程序最小化到任务栏右下角,鼠标左键单击还原,右键提示关闭程序
    C# 生成机器码
    C# 隐藏窗口标题栏、隐藏任务栏图标
    C# 测量程序运行时间
  • 原文地址:https://www.cnblogs.com/cxmsky/p/2881231.html
Copyright © 2011-2022 走看看