• BufferedReader带有缓冲区的输入流 及 InputStreamReader转换流


    BufferedReader:
        带有缓冲区的字符输入流。
        使用这个流的时候不需要自定义char数组,或者说不需要自定义byte数组,自带缓冲区。
     
    BufferedRreader:
    package com.javaSe.BufferedReader;
    
    
    
    
    import java.io.BufferedReader;
    import java.io.FileNotFoundException;
    import java.io.FileReader;
    import java.io.IOException;
    
    
    
    
    /*
    BufferedReader:
        带有缓冲区的字符输入流。
        使用这个流的时候不需要自定义char数组,或者说不需要自定义byte数组,自带缓冲区。
    */
    public class BufferedReaderTest01 {
        public static void main(String[] args) {
            BufferedReader bfr = null;
            try {
                FileReader reader = new FileReader("CopyTest02.java");
                // 当一个流的构造方法中需要一个流的时候,这个被传进来的流叫做:节点流。
                // 外部负责包装的这个流,叫做:包装流,还有一个名字叫做:处理流。
                // 向当前这个程序来说:FileReader就是一个节点流,BufferedReader就是包装流/处理流。
                bfr = new BufferedReader(reader);
                
                // 读一行
                /*String firstLine = bfr.readLine();
                System.out.println(firstLine);
        
                firstLine = bfr.readLine();
                System.out.println(firstLine);
        
                firstLine = bfr.readLine();
                System.out.println(firstLine);*/
                
                // bfr.readLine()方法读取一个文本行,单不带换行符。
                String s = null;
                while ((s = bfr.readLine()) != null){
                    System.out.println(s);
                }
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                if (bfr != null) {
                    // 关闭流
                    // 对于包装流来说,只需要关闭最外层流就行,里面的节点流会自动关闭。(可以看源代码)
                    try {
                        bfr.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
        
        }
    }

    BufferedReader:

    package com.javaSe.BufferedReader;
    
    
    import java.io.*;
    /*
    转换流:InputStreamReader
    */
    public class BufferedReaderTest02 {
        public static void main(String[] args) {
            FileInputStream in = null;
            BufferedReader br = null;
            try {
                /*// 字节流
                in = new FileInputStream("CopyTest02.java");
                
                // 通过转换流转换
                // in是字节流。reader是包装流
                InputStreamReader reader = new InputStreamReader(in);
                
                // 这个构造方法只能传一个字节流,不能传字符流。
                br = new BufferedReader(reader);*/
                
                // 合并
                br = new BufferedReader(new InputStreamReader(new FileInputStream("CopyTest02.java")));
                
                String line = null;
                while ((line = br.readLine()) != null) {
                    System.out.println(line);
                }
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                if (br != null) {
                    try {
                        // 关闭最外层
                        br.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
        }
    }
  • 相关阅读:
    django基础之ORM基础知识
    Centos7 搭建sonarQube
    centos7安装部署SVN
    centos7.5 SVN 搭建
    centos 7 部署 zookeeper
    centos7 发送邮件
    Centos7安装配置Gitlab-CE
    openldap 双主模式部署
    K8s一键安装
    ELK实战部署
  • 原文地址:https://www.cnblogs.com/xlwu/p/13466117.html
Copyright © 2020-2023  润新知