Java文件操作(三)-字符流

字符流原理
Reader是字符输入流的父类
Writer是字符输出流的父类
字符流是以字符(char)为单位读写数据的,一次处理一个unicode
字符流的底层仍然是基本的字节流
字符流只用于读写文本数据

Reader的常用方法
int read():读取一个字符,返回的int值“低16”位有效
int read(char[] chs):从该流中读取一个字符数组的Length个字符并存入该数组,返回值为实际读取到的字符量

Writerde 常用方法:
void write(int c):写出一个字符,写出给定的int值“低16”位表示的字符
void write(char[] chs):将给定字符数组中所有字符写出
void write(String str):将给定的字符串写出
void write(char[] chs,int offset,int len):将给定的字符数组从offset处开始连续的len个字符写出

InputStreamReader:字符输入流:
使用该流可以设置字符集,并按照指定的字符集从流中按照该编码将字节数据转换为字符并读取
OutputStreamReader:字符输出流:
使用该流可以设置字符集,并按照指定的字符集将字符转换为对应字节后通过该流写出

PrintWriter
PrintWriter是具有自动行刷新的缓冲字符输出流,其提供了比较丰富的构造方法
—PrintWriter(File file)
—PrintWriter(String filename)
—PrintWriter(OutputStream out)
—PrintWriter(OutputStream out,boolean autoFlush)
—PrintWriter(Writer writer)
—PrintWriter(Writer writer,boolean autoFlush)
其中参数位OutputStream 与Writer的构造方法提供了一个可以传入Boolean值参数,该参数用于表示PrintWriter是否具有自动行刷新
**创建具有字符行刷新的PrintWriter后,每当我们使用println方法写出字符串后,都会自动flush,但一定要清除:这无疑会增加写出次数从而降低写出效率

BufferReader
BufferReader是缓冲字符输入流,其内部提供了缓冲区,可以提高读取效率。
可以以行为单位读取字符串
BufferReader常用构造方法:
BufferReader(Reader reader)

  • String readLine()
    • 一次读取一行字符串,该方法会判断读取到换行符为止,将之前一行字符串返回
    • 若该方法返回的字符串位Null,说明没有数据可读了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值