【转载】InputStreamReader和OutputStreamWriter 的区别和用法
2024-09-07 23:35:01
一、InputStreamReader
用于将一个字节流中的字节解码成字符 , 用法如下:
@Test
public void Test19() throws Exception {
InputStream in = new FileInputStream("C:/hello.txt");// 读取文件的数据,注意文件编码为UTF-8,防止读取乱码
// 将输入的字节流 ------转换成----> 字符流
InputStreamReader isr = new InputStreamReader(in);// 读取
char[] data = new char[1024];
int len = isr.read(data);//读取字符流中的数据,用char[]数组一次性接收
System.err.println(new String(data, 0, len));
isr.close();
}
将读取的字符流打印到控制台效果如下
二、OutputStreamWriter
用于将写入的字符编码成字节后写入一个字节流, 用法如下
@Test
public void Test20() throws Exception {
OutputStream out = System.err;// 打印到控制台,也可以输出到文件
OutputStreamWriter osr = new OutputStreamWriter(out);//输出 往out里面准备写内容,内容在下面
String str = "Hello World!";
osr.write(str);//写
//osr.flush();//如果用于网络传输,记得强制刷新缓冲区,否则输出的数据只停留在缓冲区中,而无法进行网络传输
osr.close();//关闭资源
}
将输入的字符流"Hello World!"写入到字节流对象out中,并打印到控制台效果如下:
三、总结
Out -- 将输出的字符流 ---- > 字节流 ---> 用于输出到控制台 或者 文件 -- 注意这个是写 ====输出的是来源,形容词,不是你理解的字符输出流转字节输出流
In -- 将输入的字节流 -----> 字符流 ---->用于读取到控制台 或 内存 -- 注意这个是读 ====输入的是来源,形容词,不是你理解的字节输入流转字符输入流
要么字节流要么字符流, 具体再分哪种来源的流的话,就看是In还是Out了
InputStreamReader看似是往里写(In) ,其实是往外读(Reader)
OutputStreamWriter看似是往外读(Out),其实是往里写(Writer)
---------------------
作者:appleyk
来源:CSDN
原文:https://blog.csdn.net/Appleyk/article/details/79639444
版权声明:本文为博主原创文章,转载请附上博文链接!
最新文章
- python 内置&;&;递归
- Chome v42 支持Java
- 如何去除My97 DatePicker控件上右键弹出官网的链接
- C# using 三种使用方式 C#中托管与非托管 C#托管资源和非托管资源区别
- Linux man 用法小结(Linux指令学习笔记)
- 使--no-ri --no-rdoc成为gem安装的默认选项
- asp.net MVC FileResult在IE下异常的解决办法
- 蔡勒(Zeller)公式
- 移动开发框架,第【一】弹:QuoJs 官方文档(汉化版)
- 基于visual Studio2013解决面试题之1409基数排序
- 用C#来学习唐诗三百首
- 移动端1px 边框完整方案(四个方向)
- [HNOI 2002]跳蚤
- sudo brew install mongodb报错
- PL/SQL Block中对单引号进行转义
- next.js学习笔记
- tp5文件上传展示
- SecureRandom
- Python测试DB2连通性
- skflow 分类与回归接口API 简单测试
热门文章
- printf()参数的处理
- 【ACM】poj_1579_Function Run Fun_201308121654
- Linux环境变量设置中配置文件分析(/etc/profile,~/.bashrc等)(转)
- javax ee常用类
- IDFTP连不上FTP服务器的解决方法
- 怎样给你的Android 安装文件(APK)瘦身
- POJ 3653 &;amp; ZOJ 2935 &;amp; HDU 2722 Here We Go(relians) Again(最短路dijstra)
- ORACLE错误1033出现和ORA-00600错误解决的方法
- poj 3461 字符串单串匹配--KMP或者字符串HASH
- Codeforces Round #330 (Div. 2)B. Pasha and Phone 容斥