Java基础IO流介绍之六——什么是桥转换(转换流)

 


转换流(重要)

1、概述

是字节流到字符流的桥梁,在转换的过程中,可以指定编码.

2、分类——InputStreamReader/OutputStreamWriter

InputStreamReader:
     是从字节流到字符流的桥梁,父类是Reader 它读取字节,并使用指定的编码将其解码为字符.
    它使用的字符集可以由名称指定,也可以被明确指定,或者可以接受平台的默认字符集 
OutputStreamWriter:
      是从字符流到字节流的桥梁,父类是Writer 是从字符流到字节流的桥梁,使用指定的编码将写入的字符编码为字节.
    它使用的字符集可以由名称指定,也可以被明确指定,或者可以接受平台的默认字符集

3、构造方法

方法名 说明
InputStreamReader(InputStream in) 使用默认字符编码创建InputStreamReader对象
InputStreamReader(InputStream in,String chatset) 使用指定的字符编码创建InputStreamReader对对象
OutputStreamWriter(OutputStream out) 使用默认字符编码创建OutputStreamWriter对象
OutputStreamWriter(OutputStream out,String charset) 使用指定的字符编码创建OutputStreamWriter对象
//案例:

import java.io.*;

public class Demo13 {
    public static void main(String[] args) throws Exception {
        // 字节流  ---> 可以处理的所有的文件
        // 字符流 ---> 处理文本文件 ---> 有优势

//        FileOutputStream fileOutputStream = new FileOutputStream("file/a.txt");
//
//        // 要将字节流转换为字符流  ---> 可以指定编码
//
//        //以  GBK 编码 写入一些字符
//        OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fileOutputStream,"utf-8");
//
//        outputStreamWriter.write("闺中少妇不知愁");
//
//        outputStreamWriter.close();

        FileInputStream fileInputStream = new FileInputStream("file/a.txt");

        //以GBK进行读取
        InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream,"utf-8");

        BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
        String s = bufferedReader.readLine();
        System.out.println(s);

        bufferedReader.close();


    }
}

posted @   泰初  阅读(416)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示