zoukankan      html  css  js  c++  java
  • 关于缓冲字符流BufferedReader和BufferedWriter

    缓冲字符流BufferedReader和BufferedWriter

    • 问题:之前的文件读写都是按照字节、字符或者数组来实现的,对于文本文件而言,能否按照行,一行行读写呢。
    • 提供了BufferedReader和BufferedWriter实现按行读写
    package com.bjsxt.ios3;
    
    import java.io.*;
    
    public class TestBufferedReaderWriter {
        public static void main(String[] args) throws IOException {
            //1.创建流
            BufferedReader br =
                    new BufferedReader(new FileReader("c:/RecorderSDKLog.txt"));
            BufferedWriter bw =
                    new BufferedWriter(new FileWriter("c:/RecorderSDKLog2.txt"));
    
            //2.使用流
            String str = br.readLine();
            while(str != null){
                //输出当前行数据
                System.out.println(str);
                //写当前行数据到文件
                bw.write(str);
                //bw.write("\n");
                bw.newLine();
                //再读一行
                str = br.readLine();
            }
            //3.关闭流
            br.close();
            bw.close();
        }
    }

    总结1:BufferedReader和BufferedWriter的优点

    1.速度快

    2.简化编程

    总结2:readLine()底层的原理

    底层还是一个一个字符的读取,append()放入到StringBuilder(或者char[] )中,遇到换行符 ,StringBuilder(char[])转换成String并返回

    总结3:不同的操作系统中换行符是不同的

    Unix系统里,每行结尾只有“<换行>”,即“\n”;

    Windows系统里面,每行结尾是“<回车><换行>”,即“\r\n”;

    Mac系统里,每行结尾是“<回车>”,即“\r”。

  • 相关阅读:
    MySQL---exists检查数据库对象是否存在
    MySQL---自查询
    MySQL---多表查询
    等待元素
    单元测试---testsuite对象
    mysql--事务
    untieeest方法
    线性,模块,数据,关键字的作用
    selenium中隐式等待和显示等待的区别
    软件测试的原则
  • 原文地址:https://www.cnblogs.com/vincentmax/p/14245191.html
Copyright © 2011-2022 走看看