zoukankan      html  css  js  c++  java
  • IO流总结笔记二

    Reader

       |--InputStreamReader

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

    Writer

    |--OutputStreamWriter

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

    Reader中的常见的方法:

    1,int read():

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

    2,int read(char[ ]):

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

    3,close():

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

    Writer中的常见的方法:

     1,write(ch):将一个字符写入到流中。

     2,write(char[ ]):将一个字符数组写入到流中。

     3,write(String):将一个字符串写入到流中。

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

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

    FileWriter:

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

    该类特点,

    1,用于处理文本文件。

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

    3,该类中有临时缓冲。

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

    FileWriter(String filename):

           该构造函数作用:

    1,调用系统资源。

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

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

    FileWriter(String filename,boolean append):

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

    FileReader:

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

    2,用于关联文本文件。

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

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

    FileReader(String filename):

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

    字符流的缓冲区:

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

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

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

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

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

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

    readLine():方法的原理:

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

  • 相关阅读:
    新博客安家
    Win32设置与获取cookies的几种方法
    Win32 操作剪切板
    搜索PEB结构获取Kernel32.dll基址
    动人心魄音乐 [身骑白马 徐佳莹]
    单例模式与静态方法的区别(转载)
    个人回顾
    关于引入每日站会的思考
    2017年的总结和回顾
    《知易行难》回顾
  • 原文地址:https://www.cnblogs.com/QuestionsZhang/p/9686600.html
Copyright © 2011-2022 走看看