一、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
版权声明:本文为博主原创文章,转载请附上博文链接!

最新文章

  1. python 内置&&递归
  2. Chome v42 支持Java
  3. 如何去除My97 DatePicker控件上右键弹出官网的链接
  4. C# using 三种使用方式 C#中托管与非托管 C#托管资源和非托管资源区别
  5. Linux man 用法小结(Linux指令学习笔记)
  6. 使--no-ri --no-rdoc成为gem安装的默认选项
  7. asp.net MVC FileResult在IE下异常的解决办法
  8. 蔡勒(Zeller)公式
  9. 移动开发框架,第【一】弹:QuoJs 官方文档(汉化版)
  10. 基于visual Studio2013解决面试题之1409基数排序
  11. 用C#来学习唐诗三百首
  12. 移动端1px 边框完整方案(四个方向)
  13. [HNOI 2002]跳蚤
  14. sudo brew install mongodb报错
  15. PL/SQL Block中对单引号进行转义
  16. next.js学习笔记
  17. tp5文件上传展示
  18. SecureRandom
  19. Python测试DB2连通性
  20. skflow 分类与回归接口API 简单测试

热门文章

  1. printf()参数的处理
  2. 【ACM】poj_1579_Function Run Fun_201308121654
  3. Linux环境变量设置中配置文件分析(/etc/profile,~/.bashrc等)(转)
  4. javax ee常用类
  5. IDFTP连不上FTP服务器的解决方法
  6. 怎样给你的Android 安装文件(APK)瘦身
  7. POJ 3653 & ZOJ 2935 & HDU 2722 Here We Go(relians) Again(最短路dijstra)
  8. ORACLE错误1033出现和ORA-00600错误解决的方法
  9. poj 3461 字符串单串匹配--KMP或者字符串HASH
  10. Codeforces Round #330 (Div. 2)B. Pasha and Phone 容斥