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();
}
}
分类:
I/O流
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架