黑马程序员

字符编码和字符集

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

在这里插入图片描述

编码引出的问题–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();
    }
}

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐