java IO(二)—— 字符输入输出流

5 篇文章 0 订阅

javo. io. Reader:字符输入流

是字符输入流的最顶层的父类,定义了-些共性的成员方法,是一个抽象类

共性的成员方法:

  • int read() 读取单个字符并返回。
  • int read(char[] cbuf)- 次读取多个字符,将字符读入数组。
  • void close() 关闭该流并释放与之关联的所有资源。

java. io. FileReader extends InputStreamReader extends Reader
FileReader:文件字符输入流
作用:把硬盘文件中的数据以字符的方式读取到内存中

构造方法:

  • FileReader(Stritg fileName)
  • FileReader(File file)
    参数:读取文件的数据源

FileReader构造方法的作用:

1.创建一个FileReader对象
2.会把FileReader对象指向要读取的文件

demo

在这里插入图片描述

java. io. Writer :字符输出流

是所有字符输出流的最顶层的父类,是一个抽象类
共性的成员方法:

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

  • void write(char[] cbuf)写入字符数组。

  • abstract void write(charfj cbuf, int off, int len)写入字符数组的某一部分, off数组的开始索引, len写的字符个数。

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

  • void write(String str, int off, int len) 写入字符串的某一部分, off字符串的开始索引, len写的字符个数。

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

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

java. io. FileWriter extends OutputStreamwriter extends Writer

  • Filewriter:文件字符输出流
  • 作用:把内存中字符数据写入到文件中

Filewriter构造方法:

  • Filewriter(File file)根据给定的File 对象构造一个FileWriter 对象。

  • FileWriter(string fileName) 根据给定的文件名构造一-个Filewriter 对象。
    参数:写入数据的目的地

    • String fileName :文件的路径
    • File file:是-一个文件

    构造方法的作用:

    1. 会创建一个FileWriter对象
    2. 会根据构造方法中传递的文件文件的路径,创建文件
    3. 会把FileWriter对象指向创建好的文件

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

1.创建Filelwriter对象,构造方法中绑定要写入数据的目的地
2.使用Filewriter中的方法write,把数据写入到内存缓冲区中(字符转换为字节的过程)
3.使用Filewriter中的方法flush,把内存缓冲区中的数据,刷新到文件中
4.释放资源(会先把内存缓冲区中的数据刷新到文件中)

demo

在这里插入图片描述

flush方法和close方法的区别

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

续写和换行

续写,追加写:使用两个参数的构造方法
Filewriter(String fileName, boolean append)
FileWriter(File file, boolean append)
参数:
String fileName,File file:写入数据的目的地
boolean append:续写开关true:不会创建新的文件覆盖源文件,可以续写; false :创建新的文件覆盖源文件

用try catch处理流中的异常

在这里插入图片描述

JDK7的新特性

在try的后边可以增加一个(),在括号中可以定义流对象
那么这个流对象的作用域就在try中有效
try中的代码执行完毕,会自动把流对象释放,不用写finally
格式:
try(定义流对象;定义流对象…){
可能会产出异常的代码
}catch(异常类变量变量名){
异常的处理逻辑
}

完毕,会自动把流对象释放,不用写finally
格式:
try(定义流对象;定义流对象…){
可能会产出异常的代码
}catch(异常类变量变量名){
异常的处理逻辑
}

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值