zoukankan      html  css  js  c++  java
  • 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();
                    }
                }
            }
        }
    }
  • 相关阅读:
    再次或多次格式化导致namenode的ClusterID和datanode的ClusterID之间不一致的问题解决办法
    Linux安装aria2
    POJ 3335 Rotating Scoreboard 半平面交
    hdu 1540 Tunnel Warfare 线段树 区间合并
    hdu 3397 Sequence operation 线段树 区间更新 区间合并
    hud 3308 LCIS 线段树 区间合并
    POJ 3667 Hotel 线段树 区间合并
    POJ 2528 Mayor's posters 贴海报 线段树 区间更新
    POJ 2299 Ultra-QuickSort 求逆序数 线段树或树状数组 离散化
    POJ 3468 A Simple Problem with Integers 线段树成段更新
  • 原文地址:https://www.cnblogs.com/xlwu/p/13466117.html
Copyright © 2011-2022 走看看