首页 > 基础资料 博客日记
Java中的InputStreamReader介绍及用法
2023-05-21 18:50:25基础资料围观769次
InputStreamReader是Java中的一个字符流类,它作为字节流和字符流之间的桥梁,将字节流转换成字符流。在读取字节数据时,InputStreamReader根据指定的字符集编码方式将其转化为字符,提高了读取文件或网络数据时处理中文等非ASCII码数据的能力。
InputStreamReader可以使用以下两种方式进行初始化:
1. InputStreamReader(InputStream in)
用默认字符集将 InputStream 转换为 Reader。
2. InputStreamReader(InputStream in, Charset cs)
用指定字符集将 InputStream 转换为 Reader。
用法示例:
try(FileInputStream fis = new FileInputStream("data.txt");
InputStreamReader isr = new InputStreamReader(fis, StandardCharsets.UTF_8)){ int c; while((c = isr.read()) != -1){ System.out.print((char)c); } } catch(IOException e){ // 处理异常 }
以上代码读取当前路径下的data.txt文件,并将文件内容按照UTF-8字符集输出到控制台上。可以通过修改字符集来实现不同编码格式的文件读写。需要注意,InputStreamReader读取文件时也存在乱码问题,需要根据文件实际编码格式来选择相应的字符集。
标签:
相关文章
最新发布
- springboot~3.x项目中使用集成测试
- Java测试类、工具类与JavaBean对比解析
- SpringBoot-日志
- springboot~http2的支持
- 解疑释惑 - 日志体系之 slf4j + logback 组合(一)
- Web server failed to start. Port 8080 was already in use. 端口被占用
- Springboot 项目配置多数据源
- 伙伴匹配系统(移动端 H5 网站(APP 风格)基于Spring Boot 后端 + Vue3 - 05
- 剑指offer-23、搜索⼆叉树的后序遍历序列
- 一个表示金额的数字是 100000000L,这是多少米?