java IO流 转换流

InputStreamReader(InputStream in)

创建一个使用默认字符集的InputStreamReader。

InputStreamReader(InputStream in, Charset cs)

创建一个使用给定字符集的InputStreamReader。

InputStreamReader(InputStream in, CharsetDecoder dec)

创建一个使用给定字符集解码器的InputStreamReader。

InputStreamReader(InputStream in, String charsetName)

创建一个使用命名字符集的InputStreamReader。

OutputStreamWriter(OutputStream out)

创建一个使用默认字符编码的OutputStreamWriter。

OutputStreamWriter(OutputStream out, Charset cs)

创建一个使用给定字符集的OutputStreamWriter。

OutputStreamWriter(OutputStream out, CharsetEncoder enc)

创建一个使用给定字符集编码器的OutputStreamWriter。

OutputStreamWriter(OutputStream out, String charsetName)

创建一个使用命名字符集的OutputStreamWriter。

 

编码转换 

public class Test {
    /**
     * java.io.InputStreamReader类继承Reader,所以该类也是表示字符输入流,用来读取数据
     * 特点:
     * 1,是字节流通向字符流的桥梁
     * 2,可以指定编码读取数据,也可以使用平台默认编码读取数据
     *
     */
    public static void main(String[] args) {
        try (
                InputStreamReader inputStreamReader = new InputStreamReader(new FileInputStream("IO流\\aaa\\test.txt"), "utf-8");
                OutputStreamWriter gb2312 = new OutputStreamWriter(new FileOutputStream("IO流\\aaa\\test_zhuan.txt"), "gb2312");
                ){
            char[] chs = new char[8192];
            int len;
            while ((len = inputStreamReader.read(chs))!= -1 ){
                gb2312.write(chs,0,len);
            }
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

    }
}

 

posted @ 2022-07-04 23:09  在线电影制作人  阅读(6)  评论(0)    收藏  举报  来源