字符编码和字符集,FileReader读取GBK格式文件,转换流的原理,OutputStreamWriter介绍&代码实现,OutputStreamReader介绍&代码实现

黑马程序员

字符编码和字符集

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

编码引出的问题–FileReader读取GBK格式文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

转换流的原理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

OutputStreamWriter介绍&代码实现

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

package IOCode;

import sun.nio.cs.ext.GBK;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;

public class Code_Demo {
    public static void main(String[] args) throws IOException {
        To_utf_8();
        To_gbk();
    }

    private static void To_utf_8() throws IOException {
        OutputStreamWriter outputStreamWriter = new OutputStreamWriter(new FileOutputStream("F:\\杂七杂八\\a.txt", true));

        outputStreamWriter.write("\r\n你好呀——utf_8");

        outputStreamWriter.flush();

        outputStreamWriter.close();
    }

    private static void To_gbk() throws IOException {
        OutputStreamWriter outputStreamWriter = new OutputStreamWriter(new FileOutputStream("F:\\杂七杂八\\a.txt", true), "GBK");

        outputStreamWriter.write("\r\n你好呀——GBK");

        outputStreamWriter.flush();

        outputStreamWriter.close();
    }
}

OutputStreamReader介绍&代码实现

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

package IOCode;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;

public class InputStreamReader_Demo {
    public static void main(String[] args) throws IOException {
        read_utf_8();
        read_gbk();
    }

    private static void read_utf_8() throws IOException {
        InputStreamReader inputStreamReader = new InputStreamReader(new FileInputStream("F:\\杂七杂八\\a.txt"));
        int len=0;
        char[] chars = new char[1024];

        while ((len=inputStreamReader.read(chars))!=-1){
            System.out.println(new String(chars,0,len));
        }

        System.out.println("*********************************");
//        len=0;
//        while ((len=inputStreamReader.read())!=-1){
//            System.out.print((char)len);
//        }

        inputStreamReader.close();
    }


    private static void read_gbk() throws IOException {
        InputStreamReader inputStreamReader = new InputStreamReader(new FileInputStream("F:\\杂七杂八\\a.txt"),"GBK");
        int len=0;
        char[] chars = new char[1024];

        while ((len=inputStreamReader.read(chars))!=-1){
            System.out.println(new String(chars,0,len));
        }

        System.out.println("*********************************");
//        len=0;
//        while ((len=inputStreamReader.read())!=-1){
//            System.out.print((char)len);
//        }

        inputStreamReader.close();
    }
}

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值