zoukankan      html  css  js  c++  java
  • java学习day14--API-转换流

    转换流

    用来作为桥梁,把字节流转成字符流的桥梁。

    用来解决字符流读写乱码问题。

    工具类

    OutputStreamWriter

    是字节流通向字符流的桥梁

    构造方法

    OutputStreamWriter(OutputStream out, String charsetName)
    
    OutputStreamWriter(OutputStream out)  
    

    InputStreamReader

    是字节流通向字符流的桥梁

    构造方法

    InputStreamReader(InputStream in)
    
    InputStreamReader(InputStream in, String charsetName)
    

    字符编码表

    字符编码表

    测试案例

    //编码转换流的测试
    public class Test5_Decode {
        public static void main(String[] args) {
    //     method();//输出的转换流
           method2();//读取的转换流
        }
        private static void method2() {
    
           try {
               //1,创建转换对象
               //第二个参数可以设置编码表,解决乱码现象
               //文件保存时使用的是gbk编码,如果用utf-8就会乱码
    //         BufferedReader in = new BufferedReader(
    //                      new InputStreamReader(
    //                      new FileInputStream("1.txt"),"utf-8"));//乱码
               BufferedReader in = new BufferedReader(
                      new InputStreamReader(
                             new FileInputStream("1.txt"),"gbk"));
               //2,读取一行数据
               String line = in.readLine();//子类BufferedReader的特有方法
               System.out.println(line);
               //3,释放资源
    			in.close();
           }catch(Exception e) {
               e.printStackTrace();
           }
        }
        private static void method() {
           try {
               // 1,创建转换流输出对象,OutputStreamWriter是字节流通向字符流的桥梁
               //第二个参数可以设置编码表,解决乱码现象
               //写出去的文件如果使用了utf-8表,打开时,使用了默认的gbk编码表,就会出现乱码
    //         OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream("1.txt"), "utf-8");
               OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream("1.txt"), "gbk");
               // 2,开始写出数据
               // 当数据的保存方式和打开方式,使用的不是一张表时,就会出现乱码!!
               out.write("大家好,我是渣渣辉");
               // TODO 3,释放资源
               out.flush(); 
           } catch (Exception e) {
               e.printStackTrace();
           }
        }
    }
    
  • 相关阅读:
    剑指offer 18. 二叉树的镜像
    用texarea存储数据,查询数据库后原样显示在jsp中,包括空格和回车换行
    MySQL中MyISAM与InnoDB区别及选择
    聚簇索引和非聚簇索引
    SQL注入攻击
    剑指offer 36. 两个链表的第一个公共结点
    剑指offer 56.删除有序链表中的重复结点
    jdk1.8的HashMap和ConcurrentHashMap
    java8的ConcurrentHashMap为何放弃分段锁,为什么要使用CAS+Synchronized取代Segment+ReentrantLock
    如何彻底卸载Jenkins(Windows版本)
  • 原文地址:https://www.cnblogs.com/liqbk/p/12919011.html
Copyright © 2011-2022 走看看