• Java连载99-带有缓存区的字符输入输出流、System.in详解


    一、Buffered

    字节方式

    BufferedInputStream

    BufferedOutputStream

    字符方式

    BufferedReader

    BufferedWriter

     
    
    package com.bjpowernode.java_learning;
    
    import java.io.*;
    
    public class D99_1_BufferedReaderAndWriter {
    
      public static void main(String[] args) throws Exception{
    
        //创建一个带有缓冲区的字符输入流
    
        String address = "C:\\Users\\lenovo1\\Workspaces\\MyEclipse CI\\Java_learning\\src\\com\\bjpowernode\\java_learning\\temp1.txt";
    
        FileReader fr = new FileReader(address);//创建一个文件字符输入流
    
        BufferedReader br = new BufferedReader(fr);//将文件字符输入流包装成带有缓冲区的字符输入流
    
        //根据流出现的位置,流又分为:包装流或者处理流和节点流
    
        //FileReader fr是一个节点流
    
        //BufferedReader br是一个包装流,或者处理流
    
        //上面的两行代码可以简写为如下一行
    
        //BufferedReader fr = new BufferedReader(new FileReader("C:\\Users\\lenovo1\\Workspaces\\MyEclipse CI\\Java_learning\\src\\com\\bjpowernode\\java_learning\\temp1.txt"));
    
       
    
        //开始读
    
        String temp = null;
    
        while((temp = br.readLine()) != null) {//br.readline()方法读取一行,但是行尾是不带换行符的
    
          System.out.println(temp);//输出一行
    
        }
    
        //关闭
    
        //注意:关闭的时候只需要关闭外层的包装流即可(这里有一个包装者模式)
    
        fr.close();
    
       
    
       
    
        //创建一个带有缓冲区的字符输入流
    
        FileInputStream fis = new FileInputStream(address);
    
        //转换流,字节输入流转换为字符输入流,为了就是能够传入BufferedReader中
    
        InputStreamReader isr = new InputStreamReader(fis);
    
       
    
        BufferedReader br2 = new BufferedReader(isr);
    
       
    
        //开始读
    
        String temp2 = null;
    
        while((temp2=br2.readLine())!= null) {
    
          System.out.println(temp2);
    
        }
    
        //关闭,关闭最外层的流即可,(装饰者模式)
    
      }
    
    ​
    
    }

    二、接受用户键盘输入

    1.System.in是一个标准的输入流,默认可以接受键盘的输入

     
    
    package com.bjpowernode.java_learning;
    
    ​
    
    import java.io.*;
    
    import java.util.*;
    
    ​
    
    public class D99_2_AcceptUserInput {
    
      public static void main(String[] args) throws Exception{
    
        //以前的方式
    
        Scanner s = new Scanner(System.in);
    
        //程序执行到这里停下来,等待用户输入
    
        String str = s.next();
    
        System.out.println(str);
    
        //next()是以空格为界限
    
        //接下来使用BufferedReader来接受用户的输入
    
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    
        //接受输入(每次接受一行
    
        String str2 = br.readLine();
    
        System.out.println(str2);
    
       
    
        br.close();
    
       
    
      }
    
    }

    ​三、源码:

    D99_1_BufferedReaderAndWriter.java

    D99_2_AcceptUserInput.java

    https://github.com/ruigege66/Java/blob/master/D99_1_BufferedReaderAndWriter.java

    https://github.com/ruigege66/Java/blob/master/D99_2_AcceptUserInput.java

    2.CSDN:https://blog.csdn.net/weixin_44630050

    3.博客园:https://www.cnblogs.com/ruigege0000/

    4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料

  • 相关阅读:
    event.currentTarget
    architecture 20190628
    jQuery extend
    Prototype js library
    this._super()
    cdn for js library
    WAMPSERVER php
    characteristics of competent communicators
    onchange and oninput
    jQuery .ready()
  • 原文地址:https://www.cnblogs.com/ruigege0000/p/12521461.html
Copyright © 2020-2023  润新知