转换流笔记

概述:

在idea中,默认使用的是UTF-8编码,我们进行读操作的时候,就没有任何的问题,但是在读取Windows系统中创建的文本文件时,由于Windows系统默认是GBK编码,就会出现乱码的现象。所以我们需要转换流来作为编码和解码中间的桥梁

 

InputStreamReader类的概述:

转换流java.io.InputStreamReader,是Reader的子类,是从字节流到字符流的桥梁。它读取字节,并使用指定的字符集将其解码为字符。它的字符集可以由名称指定,也可以接受平台的默认字符集。

构造方法:

  • InputStreamReader(InputStream in): 创建一个使用默认字符集的字符流。(utf8)

  • InputStreamReader(InputStream in, String charsetName): 创建一个指定字符集的字符流。(utf8,gbk)

InputStreamReader isr = new InputStreamReader(new FileInputStream("in.txt"));
InputStreamReader isr2 = new InputStreamReader(new FileInputStream("in.txt") , "GBK");

OutputStreamWriter类的概述:

转换流java.io.OutputStreamWriter ,是Writer的子类,是从字符流到字节流的桥梁。使用指定的字符集将字符编码为字节。它的字符集可以由名称指定,也可以接受平台的默认字符集。

构造方法:

 

  • OutputStreamWriter(OutputStream in): 创建一个使用默认字符集的字符流。 idea默认的是utf8

  • OutputStreamWriter(OutputStream in, String charsetName): 创建一个指定字符集的字符流。

 

posted @ 2020-09-22 14:50  化蛹  阅读(87)  评论(0编辑  收藏  举报