JAVA(IO流-字符流)day 7.30

ok了家人们今天继续学习IO流,

.字符集

使用字节流输出中文可能有乱码。

因为每次读取的字节没有完全读取一个字的字节。

.字符流

2.1 字符输出流【Writer】(抽象类)

Writer是所有字符流的超类(父类)

字符输出流 Writer 类的常用方法
public void write(int c):写出一个字符
。
public void write(char[] cbuf):将 b.length字符从指定的字符
数组写出此输出流。

public abstract void write(char[] b, int off, int len):从指定的
字符数组写出 len字符,从偏移量 off开始输出到此输出流。
 
public void write(String str) :写出一个字符串
。
public void write(String str,int off,int len):写出一个字符串的
一部分。

public abstract void close():关闭流,释放资源,但是在关闭
之前会先刷新流。一旦关闭,就不能再写数据。

public abstract void flush():刷新流,还可以继续写数据。

2.2 FileWriter

FileWriter类是Writer的子类,默认使用UTF-8,和字节缓冲区。

FileWriter类的构造方法

FileWriter(File file):创建一个新的 FileWriter,给定要读取的File对
象。
 
FileWriter(String fileName):创建一个新的 FileWriter,给定要读
取的文件的名称。 

FileWriter(File file,boolean append): 创建一个新的 FileWriter,
追加写入。 

FileWriter(String fileName,boolean append): 创建一个新的
FileWriter,追加写入。

FileWriter fw = new FileWriter("文件路径");

fw.write(int/String);
fw.write("\r\n");//换行符

char[] chars = {内容};
fw.write(chars);

fw.close();
//续写
FileWriter fw = new FileWriter("文件路径",true);

fw.write(内容);

fw.close();
flush :刷新缓冲区,流对象可以继续使用。
//刷新流
FileWriter fw = new FileWriter("文件路径",true);

fw.write(内容);

fw.flush();

fw.wirte(内容);

fw.close();

2.3 字符输入流【Reader】(抽象类)

Reader是读取字符流的所有超类(父类)

字符输入流Reader类的常用方法

public int read():每次可以读取一个字符的数据,读取到文件末
尾,返回-1。 返回字符数据的编码值。

public int read(char[] cbuf):一次最多读取cbuf.length个字符数
据,并把读取的字符数据存储到cbuf数组中。返回实际读取到的字
符数据个数。 读取到文件末尾返回:-1

2.4  FileReader类

FileReaderReader的子类,用于读取字符文件,默认使用UTF-8和字符缓冲区。

FileReader(File file): 创建一个新的 Fi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值