Java之IO字符流

IO字符流

概述:以字符为单位读写数据,专门处理文本文件。

字符输入流Reader

  • int read()
    读取单个字符,可用char()将对应字节强转为字符,用法与字节输入流类似。

  • int read(char[] cbuf)
    将字符读入数组,用String(char[] value)将字符数组转为字符串。

  • FileReader文件字符输入流extends InputStreamReader extends Reader

    构造方法:FileReader(File file/String fileName),传递数据源,创建对象并指向要读文件。

字符输出流Writer

  • void write(int c)
    写入单个字符。

  • void write(char[] cbuf, int off, int len)
    写入字符数组的某一部分。

  • void write(String str)
    写入字符串 。

  • void flush()
    刷新该流的缓冲。

  • void close()
    关闭此流,但要先刷新它。

  • FileWriter文件字符输出流extends OutputStreamWriter extends Writer

    构造方法:FileWriter(File file),根据给定的 File 对象构造一个 FileWriter 对象。续写和换行操作与字节输出流类似。

    注意:使用步骤与字节输出流有所区别,调用write方法只是将数据写入到内存缓冲区中(字符转换为字节的过程),再调用flush方法才能将数据刷新到文件中,或直接close先刷新再关闭。(前者刷新后流对象可用继续使用,后者不行)


使用try _catch处理流中的异常

FileWriter fw = null;  //声明对象,扩大流对象定义范围,能够在finally块中使用
try{
    fw = new FileWriter(fileName,true);
    for(){
        fw.write("str");
    }
}catch(IOException e){
    //处理异常
}finally{
	fw.close;  //还需单独进行try _catch,为了防止空指针异常还可在try前判断
}
  • JDK7新特性(最便捷)

    try后可增加一个括号在其中定义流对象,仅在try中有效,try中代码执行完毕会自动把流对象释放。

  • JDK9新特性

    可在try后括号中直接引用定义好的流对象名称。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值