IO流之字符流

字符流

字符流的特点:

字符流是为了方便我们读写文本文件,在换句话说,字符流只能读写文本文件,其他类型的文件读写不了。
OutputStreamWriter 是字符流通向字节流的桥梁:可使用指定的 charset 将要写入流中的字符编码成字节。它使用的字符集可以由名称指定或显式给定,否则将接受平台默认的字符集。

字符流之输入流:

InputStreamReader:

使用编码表对字节流中的数据进行解码

InputStreamReader中的构造方法:

public InputStreamReader(InputStream in):

传参数需要传InputStream的子类对象,即InputStreamWriter out = new InputStreamWriter(new FileInputStream(“a.txt”));

public InputStreamReader(InputStream in,String charsetName):

传参数需要传InputStream的子类对象,即InputStreamWriter out = new InputStreamWriter(new FileInputStream(“a.txt”),”UTF-8”);

InputStreamReader中的方法:
public int read() :

一次读取一个字符

public int read(char[] cbuf)

一次读取一个字符数组
in.write(new char[]{‘你’,‘a’,‘b’});

BufferedReader(高效的字符流):

从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。

字符流之输出流:

OutputStreamWriter:

字符输出流,是字节输出流+编码表组成

OutputStreamWriter中的构造方法:

public OutputStreamWriter(OutputStream out):

传参数需要传OutputStream的子类对象,即OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream(“a.txt”));

public OutputStreamWriter(OutputStream out,String charsetName):

传参数需要传OutputStream的子类对象+编码表类型,即OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream(“a.txt”) ,“UTF-8”)

public void write(int c) :

一次写入一个字符
out.write(‘a’);

public void write(char[] cbuf):

一次写入一个字符数组
out.write(new char[]{‘你’,‘a’,‘b’});

public void write(char[] cbuf,int off,int len):

一次写入字符数组的一部分
out.write(new char[]{‘你’, ‘a’, ‘b’},0,1);

public void write(String str):

一次写入一个字符串
out.write(“我爱你”);

public void write(String str,int off,int len):

一次写入一个字符串的一部分
out.write(“我爱你”,0,1);

public void flush():

字符流必须使用 out.flush来刷新

BufferedWriter(高效的字符流):

高效写入,底层代码实现了缓冲区数组

public void newLine():

各个平台使用的换行符号不同有的是\r\n 有的是\r 有的是\n,因此使用BuffereWriter中的newLine来进行兼容各个平台的换行

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值