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”。

  • 相关阅读:
    module.export和export
    netty学习
    I/O知识
    cxf+spring+数字签名开发webservice(二)
    cxf+spring+数字签名开发webservice(一)
    js作用域
    js继承
    js模块和级联
    python全栈_011_Python3基本数据类型--字典
    python全栈_010_Python3基本数据类型--元组
  • 原文地址:https://www.cnblogs.com/vincentmax/p/14245191.html
Copyright © 2011-2022 走看看