黑马程序员------IO流总结笔记二

来源:互联网 发布:windows粘滞键 编辑:程序博客网 时间:2024/04/19 10:00

----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------

Reader

   |--InputStreamReader

|--FileReader:专门用于处理文件的字符读取流对象

Writer

|--OutputStreamWriter

|--FileWriter:专门用于处理文件的字符写入流对象。

Reader中的常见的方法:

1int read():

读取一个字符。返回的是读到的那个字符。如果读到流的末尾,返回-1.

2int readchar[ ]):

将读到的字符存入指定的数组中,返回的是读到的字符个数,也就是往数组里装的元素的个数。如果读到流的末尾,返回-1.

3close():

关闭流,读取字符其实用的是window系统的功能,就希望使用完毕后,进行资源的释放。

Writer中的常见的方法:

 1writech):将一个字符写入到流中。

 2writechar[ ]):将一个字符数组写入到流中。

 3writeString):将一个字符串写入到流中。

 4flush():刷新流,将流中大的数据刷新到目的地中,流还存在。

 5close():关闭资源:在关闭前会先调用flush(),刷新流中的数据目的地。然后流关闭。

FileWriter

  该类没有特有的方法。只有自己的构造函数。

该类特点,

1,用于处理文本文件。

2,该类中有默认的编码表,

3,该类中有临时缓冲。

构造函数:在写入流对象初始化时,必须要有一个存储数据的目的地。

FileWriterString filename):

       该构造函数作用:

1,调用系统资源。

2,在指定位置,创建一个文件。

注意,如果该文件已经存在,将会被覆盖。

FileWriterString filenameboolean append):

当传入的boolean类型值为true时,会在指定文件末尾处进行数据的续写。

FileReader

1,用于读取文本文件的流对象。

2,用于关联文本文件。

构造函数:在读取流对象初始化的时候,必须要指定一个被读取的文件。

          如果该文件不存在会发生FileNotFoundException

FileReaderString filename):

对于读取或者写入流对象的构造函数,以及读写方法,还有刷新关闭功能都会抛出IOException或其子类。所以都要进行处理。或者throws抛出,或者try catch处理。

字符流的缓冲区:

   缓冲区的出现提高了对流的操作效率。

   原理:其实就是将数组进行封装。

  对应对象:BufferedWriter:特有方法:newLine():跨平台的换行符。

BufferedReader:特有方法:readLine():一次读一行,到行标记时,将行标记之前的字符数据作为字符串返回。当读到末尾时,返回null

在使用缓冲区对象时,要明确,缓冲的存在时为了增强流的功能而存在,所以在建立缓冲区对象时,要先有流对象存在。

其实缓冲内部就是在使用流对象的方法,只不过加入了数组对数据进行了临时存储。为了提高操作数据的效率。

readLine():方法的原理:

其实缓冲区中的该方法,用的还是与缓冲区关联的流对象的read方法。只不过,每一次读到一个字符,先不进行具体操作,先进行临时存储。当读取到回车标记时,将临时容器中存储的数据一次性返回。

----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------


原创粉丝点击