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();
                    }
                }
            }
        }
    }
  • 相关阅读:
    想做一个显示全国火车运行图的网站(3) 位置的计算
    directX9SDK中提取的9个DLL文件
    基于google map api开发web和google earth的KML地标插件
    C#winform使用XML绑定toolStripMenuItem生成菜单
    visual studio主题 代码样式
    Oracle ADF初体验
    OBIEE + OAS集群配置 Part 1
    Oracle创建外部表
    Oracle Data Integrator改变字体大小方法
    无题
  • 原文地址:https://www.cnblogs.com/xlwu/p/13466117.html
Copyright © 2011-2022 走看看