day20学习总结

一、字符流

简介:

        用于操作(读写)字符

分类:

        字符输出流

        字符输入流

使用字符流的原因

        使用字节流来操作字符 需要将字节转换为字符  但此操作可能会产生乱码,所以使用起来比较麻烦,因此使用字符流来操作字符

        字符流=字节流+编码表

注意:

        任何编码表中,中文的第一个字节都是负数

常见的编码表:

        ASCLL码表:

                主要是包含西方国家的字符

                范围  0~127

                所有码表都遵循ASCLL码表的规则,在0~127中都是ASCLL码表

                ‘a’==97   ‘A’==65   ‘0’==48

        GBK码表:

                A.GBK 码表支持中文字符 大陆使用的比较少 一般是港澳地区

                B.GBK 码表中 一个中文占两个字节

                C.记事本(gb2312) eclipse(GBK )

                D.gb2312 是GBK延伸的一种码表

        UTF-8:码表:

                A.在国内大部分公司都是使用UTF-8编码

                B.在UTF-8码表中一个中文占三个字节

                C.idea中默认的码表就是UTF-8

        UNICODE码表:

                A.万国码表这个码表是全世界通用的码表

                B.范围: 0-65535

                C.这个码表用于国际的交流

字符串的编解码:

 

package com.qf.test.test01;

import java.io.UnsupportedEncodingException;
import java.util.Arrays;

public class Test01 {
    public static void main(String[] args) throws UnsupportedEncodingException {
        String s = "苏";
        //将字符串转换为字节数组 按指定的编码格式
        byte[] bytes = s.getBytes("utf-8");
        System.out.println(Arrays.toString(bytes));
        //将字节数组转换为字符串  按指定的编码格式
        String s1 = new String(bytes,"utf-8");
        System.out.println(s1);

        //将字符串转换为字节数组 按指定的编码格式
        byte[] gbks = s.getBytes("GBK");
        System.out.println(Arrays.toString(gbks));
        //将字节数组转换为字符串  按指定的编码格式
        String s2 = new String(gbks,"GBK");
        System.out.println(s2);
    }
}

二、字符输出流-Writer

简介:

        此类是写入字符流的抽象类

        子类必须实现的方法仅有 write(char[], int, int)、flush() 和 close()。 但是,多数子类将重写此处定义的一些方法,以提供更高的效率和/或其他功能

常用方法:

子类:FileWriter

三、FileWriter

简介:

        A.用来写入字符文件的便捷类

        B.如果需要指定操作字符编码表 可以使用 OutputStreamWriter

        C.FileWriter 用于写入字符流。要写入原始字节流,请考虑使用 FileOutputStream

构造方法:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白昼乌龙茶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值