转换流
- 转换流(属于处理流)作用在节点流之上
- 转换流共两种:输入型和输出型
- 输入型转换流:将输入型字节流转换为输入型字符流,使得以字符形式读入,提高效率,输出型同理
- 解码:由字节数组(字节流)转化为字符串(字符流)(由看不懂到看懂)
- 编码:由字符串(字符流)到字节数组(字节流)
使用框架
- 转换流构造器:可传入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),创建一个使用默认大小输入缓冲区的缓冲字符输入流
- 处理的是字符串,转换为字符流
- 总结:将字节流转换为带缓冲的字符流,从而读入、
转换流与标准输入输出流的实例
加入异常处理
- 忽略大小写
- 最后转化为带缓冲的字符流