美文网首页
Java编码转换流

Java编码转换流

作者: 情安 | 来源:发表于2021-07-01 23:24 被阅读0次

    1.介绍

    用来作为桥梁,把字节流转成字符流的桥梁。
    用来解决字符流读写乱码问题。

    2.工具类

    OutputStreamWriter:是字节流通向字符流的桥梁
    --OutputStreamWriter(OutputStream out, String charsetName)
    --OutputStreamWriter(OutputStream out)     
    
    InputStreamReader:是字节流通向字符流的桥梁
    --InputStreamReader(InputStream in)
    --InputStreamReader(InputStream in, String charsetName)
    

    3.常见字符编码表

    4.测试

    package cn.tedu.encoding;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.OutputStreamWriter;
    //这个类用来测试编码转换流
    //测试写出的编码转换流:OutputStreamWriter用来把字节流转成字符流
    //总结:
    //编码转换流OutputStreamWriter InputStreamReader:
    //最大的目的是害怕  中文汉字 从字节流变成字符流时,出现乱码
    //可以通过转换流设置编码集,来防止中文乱码。
    public class Test2_Encode {
        public static void main(String[] args) {
           try {
               //1、创建OutputStreamWriter对象--是使用了平台的默认编码gbk编码,保存和打开的方式都是一张表gbk不会乱码
    //         OutputStreamWriter out = new OutputStreamWriter(
                      //1.txt文件不是磁盘的路径,而是直接写出在工程下面和src同级(需要f5刷新出来)
    //                                 new FileOutputStream("1.txt"));
               OutputStreamWriter out = new OutputStreamWriter(
                      //第二个参数"gbk",用来解决乱码,如果参数和保存时用的是一张表就不会乱码,否则就乱码
                      //比如默认保存时用的编码时gbk,参数也是gbk就不乱码。如果参数是utf-8、iso-8859-1就会乱码
                                new FileOutputStream("1.txt"),"gbk");
               //2、写出数据
               out.write("蔡徐坤");
               //3、释放资源
               out.close();
           } catch (IOException e) {
               e.printStackTrace();
           }
        }
    }
    

    相关文章

      网友评论

          本文标题:Java编码转换流

          本文链接:https://www.haomeiwen.com/subject/ghkkultx.html