IO(Transition)-转换流

IO的转换流

1- 转换流的理解:

通俗:使用"转换流"‘读入’信息的时候,正常读取,后面加一个当前文件的编码形式

通俗:使用"转换流"‘写出’信息的时候,正常读写,后面加一个,你想要的文件编码形式

一句话:其他都和正常的读取一样,就是读取看别人,写出看自己(就逗号后面的编码格式有区别)

使用场景:你通常用UTF-8编码形式,你朋友用的是GBK,他发给你一个GBK的文件,你就要用InputStreamReader来读取GBK文件,然后你要写一个GBK的文件给他OutputStreamWriter

eg: InputStreamReader(别人的文件, "别人文件的编码类型");

eg: OutputStreamWriter(你取名的文件, "你自定义的文件类型");

1-转换流
将"字节流""字符流"相互转化
用处:读取的是utf-8 ==> 输出变成gbk

2- InputStreamReader、OutputStreamWriter的理解
InputStreamReader -->"字节流"转换为"字符流"。是"字节流"通向"字符流"的桥梁
OutputStreamWriter -->"字符流"转换为"字节流"。(这里注意是将"字符流")是"字符流"通向"字节流"的桥梁

2- 转换流的使用

(我的案例:读取"UTF-8"文件 ---> 放回出"GBK文件"类型)
 //本来为了安全,应该要写try-catch,为了代码简洁,略了
    public void test() throws Exception {
        FileInputStream fileInputStream = new FileInputStream("/Users/ccc/Desktop/testIO/hello.txt");
        FileOutputStream fileOutputStream = new FileOutputStream("/Users/ccc/Desktop/testIO/hello-Translation.txt");

        //包一个"转化流"
        InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream, "UTF-8");
        OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fileOutputStream, "gbk");

        //读写
        char[] cbuf = new char[1024];
        int len;
        while ((len = inputStreamReader.read(cbuf)) != -1) {
            outputStreamWriter.write(cbuf);
        }
        inputStreamReader.close();
        outputStreamWriter.close();


    }

posted on   陈嘻嘻-  阅读(137)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示