码迷,mamicode.com
首页 > 其他好文 > 详细

IO字符流

时间:2020-04-20 23:39:06      阅读:73      评论:0      收藏:0      [点我收藏+]

标签:处理   abs   append   app   jdk   关闭   fileread   void   字符串   

1、IO字符流

(1)字符输入流Reader:字符输入流类的超类,共性的成员方法:

    1int read();读取单个字符并返回;

    2int read(char[] c);一次读取多个字符,将字符读入数组;

    3void close();关闭该流,并释放与之关联的所有资源;

(2)文件字符输入流FileReader:继承Reader类,作用:把硬盘文件中的数据以字符的方式读取到内存中;

  构造方法:1FileReader(String fileName);

       2FileReader(File file);

  构造方法的作用:1>创建一个FileReader对象;

          2>FileReader对象指向要读取的文件;

(3)读取时将字符数组转成字符串:

  使用String类的构造方法:1new String(char[] c);将字符数组转换为字符串;

             2new String(char[] c, int offset, int count);把字符数组的一部分转换为字符串,offset为数组的开始索引;count为转换的字符个数;

(4)字符输出流Writer:字符输出流的超类,抽象类,定义的共性成员方法:

    1void write(int c);写入单个字符;

    2void write(char[] c);写入字符数组;

    3abstract void write(char[] c, int off, int len);写入字符数组的一部分,off为数组的开始索引,len为字符的个数;

    4void write(String str);写入字符串;

    5void write(String str, int off, int len);写入字符串的一部分;

    6void flush();刷新该流的缓冲;

    7void close();关闭该流,但要先刷新它;

(5)FileWriter文件字符输出流:把内存中的字符写入到文件中;

  构造方法:1FileWriter(File file);

       2FileWriter(String fileName);

  构造方法的作用:1>创建一个FileWriter对象;

          2>根据构造方法中传递的文件路径,创建文件;

          3>FileWriter对象指向创建好的文件;

(6)字符输出流的使用步骤:

    1》创建FileWriter对象,构造方法中绑定要写入数据的目的地;

    2》使用FileWriter中的write方法,把数据写入到内存缓冲区中,(字符转换成字节的过程);

    3》使用FileWriter中的flush方法,把内存缓冲区中的数据,刷新到文件中;

    4》释放资源,会先把内存缓冲区中的数据刷新到文件中;

(7)Flush方法和close方法的区别:flush:刷新缓冲区,流对象可以继续使用;

                close:先刷新缓冲区,然后通知系统释放资源,流对象不可以再被使用了;

(8)字符输出流的续写和换行,与字节输出流的方法一样,续写:使用两个参数的构造方法:

    1FileWriter(File file, boolean append);

    2FileWriter(String fileName, boolean append);boolean append:续写的开关,为true时,续写,为false时,创建新的文件覆盖原文件;

  换行:windows\r\nlinux:/nmac/r

(9)JDK7在处理流对象异常的新用法:在try的后面可以增加一个(),在括号中定义流对象,那么这个流对象的作用域就在try中,try中的代码执行完毕,会自动把流对象释放,不用写finallyJDK9的新特性,在try的前面定义流对象,在try后面的括号中可以引入流对象的名称(变量名,如果有多个对象,对象之间用分号隔开),在try代码执行完毕之后,流对象也可以释放掉,不用写finally

IO字符流

标签:处理   abs   append   app   jdk   关闭   fileread   void   字符串   

原文地址:https://www.cnblogs.com/xiaozhu1017/p/12741244.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!