java中的IO,也就是Input与Output的缩写。在java中,IO涉及的范围很大,我们主要来理解对于文件的读写操作。
对于文件内容的操作我们主要可以分为两类,是:字节流和字符流。而对于字符流有FileWriter和FileReader,其中他们的抽象类是Writer和Reader;而字节流主要是FileInputStream和FileOutputStream,其抽象类是InputStream和OutputStream,实现的也是对于文件的读写。
而BufferedWriter和BufferedReader能够提供缓冲区功能,主要是为字符流提供缓冲区,而BufferedInputStream和BufferedOutputStream主要是为字节流提供缓冲区功能。
Java.io包几乎包含了所有操作输入、输出需要的类。所有这些流类代表了输入源和输出目标。
Java.io包中的流支持很多种格式,比如:基本类型、对象、本地化字符集等等。
一个流可以理解为一个数据的序列。输入流表示从一个源读取数据,输出流表示向一个目标写数据。
这次我们主要来讲一下,字符流的缓冲区,也是一个读取流的缓冲功能区,bufferedReader。
我们以读取控制台的输入为例,Java的控制台输入由System.in完成。为了获得一个绑定到控制台的字符流,我们把System.in包装在一个BufferedReader对象中来创建一个字符流。
具体的示例是:
<span style="font-family:Microsoft YaHei;font-size:14px;"><strong>BufferedReader br = new BufferedReader(new
InputStreamReader(System.in));
</strong></span>
BufferedReader的对象创建完毕,我们可以使用read()方法从控制台读取一个字符当然也可以使用readLine从控制台读取一个字符串。
具体的使用是:
read()--into read( ) throws IOException
<span style="font-family:Microsoft YaHei;font-size:14px;"><strong>//输入流读取一个字符
char c;
BufferedReader br = new BufferedReader(new
InputStreamReader(System.in));
c = (char) br.read();
</strong></span>
readLine()--String readLine( ) throws IOException
<span style="font-family:Microsoft YaHei;font-size:14px;"><strong> // 使用 System.in 创建 BufferedReader, 从标准输入读取一个字符串
BufferedReader br = new BufferedReader(new
InputStreamReader(System.in));
String str;
str = br.readLine();
</strong></span>
BufferedReader主要是为了读取文件。这个就先暂时说到这里。