????:博客首页: 进击的波吉
????:今日分享的文章:【JAVASE】IO系列 BufferedReader
????:希望自己对IO系列的解析可以帮助到大家????
????:Boji 还在努力学JavaSE ,如有疑问、疏漏之处,请多多指点????
☀️:自学成长的路上,感谢大家相伴!No hurry , No Pause !????
⭐️ 在平时刷题,不清楚大家有没有这样的疑惑,对BufferedReader 有一些熟悉 ,但不知道使用细节及原理,特意写这篇文章帮大家梳理梳理!
Buffered 音译 :缓冲区的 ;
BufferedReader:是缓冲输入流,它继承于Reader ;
BufferedReader:
通常,我们在做基本Java算法题中,创建 BufferedReader的基本语法:
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
语法解析:
BufferedReader(Reader in) BufferedReader(Reader in, int size) void close() void mark(int markLimit) boolean markSupported() int read() int read(char[] buffer, int offset, int length) String readLine() boolean ready() void reset() long skip(long charCount)
主要使用方法:
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str= br.readLine() ; char c = br.read() ;
BufferedReader 对象创建后,我们便可以使用 read() 方法从控制台读取一个字符,或者用 readLine() 方法读取一个字符串。
注意:
StringBuffer类的readLine()从每次读取的一行内容,直至读取的为null为止。然后进行输出。
StringBuffer类的read()方法读取到的每一个数字转化后的字符,然后进行输出。
此处参考:菜鸟教程
从 BufferedReader 对象读取一个字符要使用 read() 方法,它的语法如下:
int read( ) throws IOException
每次调用 read() 方法,它从输入流读取一个字符并把该字符作为整数值返回。 当流结束的时候返回 -1。该方法抛出 IOException。
下面的程序示范了用 read() 方法从控制台不断读取字符直到用户输入 q。
BRRead.java 文件代码:
//使用 BufferedReader 在控制台读取字符 import java.io.*; public class BRRead { public static void main(String[] args) throws IOException { char c; // 使用 System.in 创建 BufferedReader BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("输入字符, 按下 'q' 键退出。"); // 读取字符 do { c = (char) br.read(); System.out.println(c); } while (c != 'q'); } } 以上实例编译运行结果如下: 输入字符, 按下 'q' 键退出。 runoob r u n o o b q q
从标准输入读取一个字符串需要使用 BufferedReader 的 readLine() 方法。
它的一般格式是:
String readLine( ) throws IOException
下面的程序读取和显示字符行直到你输入了单词"end"。
BRReadLines.java 文件代码: //使用 BufferedReader 在控制台读取字符 import java.io.*; public class BRReadLines { public static void main(String[] args) throws IOException { // 使用 System.in 创建 BufferedReader BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str; System.out.println("Enter lines of text."); System.out.println("Enter 'end' to quit."); do { str = br.readLine(); System.out.println(str); } while (!str.equals("end")); } } 以上实例编译运行结果如下: Enter lines of text. Enter 'end' to quit. This is line one This is line one This is line two This is line two end end
博主写的很棒,源码分析参考这篇文章:
https://www.cnblogs.com/skywang12345/p/io_23.html