3.6 Java之转换流和标准输入输出流


转换流

  • 转换流(属于处理流)作用在节点流之上
  • 转换流共两种:输入型和输出型
  • 输入型转换流:将输入型字节流转换为输入型字符流,使得以字符形式读入,提高效率,输出型同理
  • 解码:由字节数组(字节流)转化为字符串(字符流)(由看不懂到看懂)
  • 编码:由字符串(字符流)到字节数组(字节流)

使用框架

这里写图片描述

  • 转换流构造器:可传入InputStream的实现类对象
  • 转换流的参数:字符集,即指定按何种方式进行解码和编码(前后相对应)
  • isr是Reader类的子类的对象,可进行再包装,传入BufferReader构造器中(缓冲流)

实例

添加异常处理
这里写图片描述
这里写图片描述
这里写图片描述

转换流总结

  • 关注解码和编码的过程
  • 转换流适用于直接作用于文本文件的是节点流的情况
  • 键盘输入的内容(输入的是字符)可当成文本文件,例如system.in默认是一个字节流,但输入的为文本文件,采用转换流,提高读取效率

标准的输入输出流

  • 包含System.in和System.out
  • 标准输出流:输出到显示器上(控制台)
  • 标准输入流:默认字节流
  • Scanner s = new Scanner(System.in);//接受键盘内容
    • 可传入标准输入流这一参数,表示从键盘输入,所以scanner能读取用户输入

JDK文档解释

这里写图片描述

  • 字节流的抽象基类是InputStream
  • 标准输入流System.in:返回InputStream的实现类对象(字节流),输入型
  • 标准输出流System.out:返回打印流PrintStream,属于字节流,打印流默认打印到控制台上

使用框架

这里写图片描述

  • 键盘输入采用System.in
  • System.in返回InputStream的实现类对象,默认是一个字节流
  • InputStreamReader(InputStream in)
  • BufferedReader(Reader in),创建一个使用默认大小输入缓冲区的缓冲字符输入流
  • 处理的是字符串,转换为字符流
  • 总结:将字节流转换为带缓冲的字符流,从而读入、

转换流与标准输入输出流的实例

加入异常处理
这里写图片描述
这里写图片描述

  • 忽略大小写
  • 最后转化为带缓冲的字符流

猜你喜欢

转载自blog.csdn.net/lwz45698752/article/details/81603846
3.6