InputStreamReader是字节流通向字符流的桥梁,它使用指定的charter读取为字节将其解码为字符
继承自父类的共性成员方法:
  int read() 读取单个字符并返回。
  int read(char[]cbuf)-次读取多个字符,将字符读入到数组
  void close()关闭流并且释放与之间的所有关联的资源

构造方法:
  InputStreamReader(InputStream in) 创建一个使用默认字符集的 InputStreamReader。
  InputStreamReader(InputStream in, String charsetName) 创建使用指定字符集的 InputStreamReader。
参数:
  InputStream in:字节输入流,用来读取文件中保存的字节
  String charsetName:指定的编码表名称,不区分大小写,可以是utf-8/UTF-8,gbk/GBK,...不指定默认使用UTF-8
使用步骤:
  1.创建InputStreamReader对象,构造方法中传递字节输入流和指定的编码表名称
  2.使用InputStreamReader对象中的方法read读取文件
  3.释放资源
注意事项:
  构造方法中指定的编码表名称要和文件的编码相同,否则会发生乱码



代码实现:

 

 

 

 

 

 

 

练习转换文件编码

将GBK编码的文本文件,转换为UTF-8编码的文本文件。

案例分析

  指定GBK编码的转换流,读取文本文件。

  使用UTF-8编码的转换流,写出文本文件

案例实现

  创建InputStreamReader对象,构造方法中传递字节输入流和指定的编码表名称GBK

  创建OutputStreamWriter对象,构造方法中传递字节输出流和指定的编码表名称UTF-8

  使用InputStreamReader对象中的方法read读取文件

  使用OutputStreamWriter对象中的方法write,把读取的数据写入到文件中

  释放资源

代码实现:

 

 

posted on 2022-07-18 10:51  淤泥不染  阅读(329)  评论(0编辑  收藏  举报