字符流/字符流/编码
1 2 3 4 5 6 7 8 | 为什么会出现字符流【理解】 字符流的介绍 由于字节流操作中文不是特别的方便,所以Java就提供字符流 字符流 = 字节流 + 编码表 中文的字节存储方式 用字节流复制文本文件时,文本文件也会有中文,但是没有问题,原因是最终底层操作会自动进行字节拼接 成中文,如何识别是中文的呢? 汉字在存储的时候,无论选择哪种编码存储,第一个字节都是负数 |
1 2 3 4 5 6 | 字符串中的编码解码问题【应用】 方法名 说明 byte [] getBytes() 使用平台的默认字符集将该 String编码为一系列字节 byte [] getBytes(String charsetName) 使用指定的字符集将该 String编码为一系列字节 String( byte [] bytes) 使用平台的默认字符集解码指定的字节数组来创建字符串 String( byte [] bytes, String charsetName) 通过指定的字符集解码指定的字节数组来创建字符串 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | 字符流中的编码解码问题【应用】 字符流中和编码解码问题相关的两个类 InputStreamReader:是从字节流到字符流的桥梁 它读取字节,并使用指定的编码将其解码为字符 它使用的字符集可以由名称指定,也可以被明确指定,或者可以接受平台的默认字符集 OutputStreamWriter:是从字符流到字节流的桥梁 是从字符流到字节流的桥梁,使用指定的编码将写入的字符编码为字节 它使用的字符集可以由名称指定,也可以被明确指定,或者可以接受平台的默认字符集 方法名 说明 InputStreamReader(InputStream in) 使用默认字符编码创建InputStreamReader对 象 InputStreamReader(InputStream in,String chatset) 使用指定的字符编码创建InputStreamReader 对象 OutputStreamWriter(OutputStream out) 使用默认字符编码创建OutputStreamWriter对 象 OutputStreamWriter(OutputStream out,String charset) 使用指定的字符编码创建OutputStreamWriter 对象 |
1 2 3 4 5 6 7 8 9 10 | 字符流写数据的 5 种方式【应用】 方法名 说明 void write( int c) 写一个字符 void write( char [] cbuf) 写入一个字符数组 void write( char [] cbuf, int off, int len) 写入字符数组的一部分 void write(String str) 写一个字符串 void write(String str, int off, int len) 写一个字符串的一部分 方法名 说明 flush() 刷新流,之后还可以继续写数据 close() 关闭流,释放资源,但是在关闭之前会先刷新流。一旦关闭,就不能再写数据 |
1 2 3 4 | 6 字符流读数据的 2 种方式【应用】 方法名 说明 int read() 一次读一个字符数据 int read( char [] cbuf) 一次读一个字符数组数据 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署