zoukankan      html  css  js  c++  java
  • Java 缓冲流

    • 运行环境:

      JDK8 + IntelliJ IDEA 2018.3 


    • 缓冲流

    • 1.1 概述

      缓冲流,也叫高效流,是对4个基本的FileXxx 流的增强,所以也是4个流,按照数据类型分类:

        • 字节缓冲流BufferedInputStreamBufferedOutputStream

        • 字符缓冲流BufferedReaderBufferedWriter

        缓冲流的基本原理,是在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO次数,从而提高读写的效率。
    • 1.2 字节缓冲流

      构造方法

    // 创建字节缓冲输入流
    BufferedInputStream bis = new BufferedInputStream(new FileInputStream("bis.txt"));
    // 创建字节缓冲输出流
    BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("bos.txt"));

     

      1.3 字符缓冲流

        构造方法:

    // 创建字符缓冲输入流
    BufferedReader br = new BufferedReader(new FileReader("br.txt"));
    // 创建字符缓冲输出流
    BufferedWriter bw = new BufferedWriter(new FileWriter("bw.txt"));

    • 源码:

      public class BufferedTest {
          public static void main(String[] args) throws IOException {
              // 创建map集合,保存文本数据,键为序号,值为文字
              HashMap<String, String> lineMap = new HashMap<>();
      
              // 创建流对象
              BufferedReader br = new BufferedReader(new FileReader("in.txt"));
              BufferedWriter bw = new BufferedWriter(new FileWriter("out.txt"));
      
              // 读取数据
              String line  = null;
              while ((line = br.readLine())!=null) {
                  // 解析文本
                  String[] split = line.split("\.");
                  // 保存到集合
                  lineMap.put(split[0],split[1]);
              }
              // 释放资源
              br.close();
      
              // 遍历map集合
              for (int i = 1; i <= lineMap.size(); i++) {
                  String key = String.valueOf(i);
                  // 获取map中文本
                  String value = lineMap.get(key);
                    // 写出拼接文本
                  bw.write(key+"."+value);
                    // 写出换行
                  bw.newLine();
              }
              // 释放资源
              bw.close();
          }
      }
  • 相关阅读:
    ios开发遇到的问题
    getopt()——命令行参数分析
    浅谈Samsung Exynos4412处理器
    TTL电平,CMOS电平,232/485电平,OC门,OD门基础知识
    (转载)跟Classic ARM 处理器说拜拜——Atmel SAMA5D3 Xplained开发板评测
    (转载)Quartus II中FPGA的管脚分配保存方法(Quartus II)
    DE2资源集锦
    收到DE2+LCM+ D5M套件,拾回DE2,努力,奋进!
    windows 服务器时间同步失败处理方法
    机械加工仿真软件-----三维弯管机仿真系统
  • 原文地址:https://www.cnblogs.com/CjtBlog/p/13616108.html
Copyright © 2011-2022 走看看