Bufferedreader解释?
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.in(Standard input stream)-
以字节为单位从键盘获取输入
InputStreamReader:
将字节转换为Unicode字符/将标准输入转换为读取器对象以与BufferedReader一起使用
Finally BufferedReader
:用于从字符输入流中读取(输入流读取器)
String c = br.ReadLine();
– 一种用于从输入流中读取字符并将其一次性放入字符串中的方法,而不是逐字节。
一切都在正确吗? 如果有什么不对请更正!
几乎在那里,但是这个:
String c = br.readLine();
– 一种用于从输入流中读取字符并将其一次性放入字符串中的方法,而不是逐字节。
它从输入阅读器读取字符( BufferedReader
不知道流)并一次返回整行,而不是逐个字符 。 在层中考虑它,并且在InputStreamReader
层“之上”,“bytes”的概念不再存在。
另外,请注意您可以使用Reader
读取字符块而不读取行: read(char[], int, int)
– readLine()
的点是它将为您执行行结束检测。
(如评论中所述,它也是readLine
,而不是ReadLine
🙂
BufferedReader的目的是什么,解释?
Bufferedreader是一个java类,以下是这个类的层次结构。
java.lang.Object ==> java.io.Reader ==> java.io.BufferedReader
此外,BufferedReader提供了一种有效的方式来阅读内容。 非常简单..让我们看看下面的例子来理解。
import java.io.BufferedReader; import java.io.FileReader; public class Main { public static void main(String[] args) { BufferedReader contentReader = null; int total = 0; // variable total hold the number that we will add //Create instance of class BufferedReader //FileReader is built in class that takes care of the details of reading content from a file //BufferedReader is something that adds some buffering on top of that to make reading fom a file more efficient. try{ contentReader = new BufferedReader(new FileReader("c:\\Numbers.txt")); String line = null; while((line = contentReader.readLine()) != null) total += Integer.valueOf(line); System.out.println("Total: " + total); } catch(Exception e) { System.out.println(e.getMessage()); } finally{ try{ if(contentReader != null) contentReader.close(); } catch (Exception e) { System.out.println(e.getMessage()); } } } }