InputStreamReader 类

1、概述

转换流 java.io.InputStreamReader ,是Reader的子类,是从字节流到字符流的桥梁。

该类读取字节,并使用指定的字符集将其解码为字符。它的字符集可以由名称指定,也可以接受平台的默认字符集。

2、继承自父类的共性成员方法

该类继承于 Reader 类,继承了父类的共性成员方法:

int read() 读取单个字符并返回。

int read(char[] cbuf)一次读取多个字符,将字符读入数组。

void close() 关闭该流并释放与之关联的所有资源。

3、构造方法

InputStreamReader(InputStream in) 创建一个使用默认字符集的 InputStreamReader。

InputStreamReader(InputStream in, String charsetName) 创建使用指定字符集的 InputStreamReader。

参数:

InputStream in:字节输入流,用来读取文件中保存的字节

String charsetName:指定的编码表名称,不区分大小写,可以是utf-8/UTF-8,gbk/GBK,...不指定默认使用UTF-8

4、使用步骤

① 创建InputStreamReader对象,构造方法中传递字节输入流和指定的编码表名称

② 使用InputStreamReader对象中的方法read读取文件

③ 释放资源

注意:构造方法中指定的编码表名称要和文件的编码相同,否则会发生乱码

Demo:

public static void main(String[] args) throws IOException {

//1.创建InputStreamReader对象,构造方法中传递字节输入流和指定的编码表名称

//InputStreamReader isr = new InputStreamReader(new FileInputStream("E:\\gbk.txt"),"UTF-8");//???

//将匿名对象流中的字节流按照GBK进行解码为字符流

InputStreamReader isr = new InputStreamReader(new FileInputStream("E:\\gbk.txt"),"GBK");//你好

//2.使用InputStreamReader对象中的方法read读取文件

int len = 0;

while((len = isr.read())!=-1){

System.out.println((char)len);

}

//3.释放资源

isr.close();

}

到此这篇关于Java之InputStreamReader类的实现的文章就介绍到这了,更多相关Java InputStreamReader类内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

java reader类子类_Java之InputStreamReader类的实现相关推荐

  1. java继承孙子类_Java:类与继承

    Java:类与继承 对于面向对象的程序设计语言来说,类毫无疑问是其最重要的基础.抽象.封装.继承.多态 这四大特性都离不开类,只有存在类,才能体现面向对象编程的特点,今天我们就来了解一些类与继承的相关 ...

  2. java 枚举的继承_java中枚举类可以被继承吗?

    java 枚举类 java中,使用关键字enum来定义枚举类,枚举类是一个特殊的类,大部分功能和普通类是一样的,区别为: ● 枚举类继承了java.lang.Enum类,而不是默认的Object类.而 ...

  3. java web 初始化方法_Java Web(二) 类的初始化及初始化顺序

    1. 问题点 最近在写单例模式的时候碰到了@Autiwired注解注入为NULL的情况,研究一番,发现是和类的初始化顺序有关.先抛出我的问题: //异步处理 public class AsyncMan ...

  4. java 类爆炸_Java 封装与类

    一.面向对象编程 面向对象编程三大特性:封装.继承和多态. 类是实现封装的手段,是面向对象编程的基本单元. 封装隐藏了类的内部实现细节,暴露给外界可控的操作,提高数据的完整性和安全性,提高模块的可重用 ...

  5. java 日期格式常量_Java 日期格式类

    Java格式 - Java日期格式类 Java 8有新的Date-Time API来处理日期和时间. 我们应该使用新的Java 8 Date-Time API来格式化和解析日期时间值. 如果我们正在编 ...

  6. java接口作为参数_JAVA:将类、抽象类、接口当成方法的参数传入

    将类当成参数传入方法,其实就是将类的对象传入方法,如果是抽象类,其实就是将抽象类的子类的对象传入方法,如果是接口,其实就是将接口实现类的对象传入方法. 因为抽象类和接口是不能实例化成对象的,所以必须找 ...

  7. Java学习之子类(八):abstract类和abstract方法

    在设计程序的时候,我们会经常使用abstract类,原因是,abstract类只关心操作,而不关心这些操作具体的实现细节 细节应当由抽象类的非抽象子类去实现,这些子类可以给出具体的实例,来完成程序功能 ...

  8. java random函数用法_JAVA的Random类的用法详解

    Random类主要用来生成随机数,本文详解介绍了Random类的用法,希望能帮到大家. Random类 (java.util) Random类中实现的随机算法是伪随机,也就是有规则的随机.在进行随机时 ...

  9. java 父类转子类_Java多态,对象转型,和简单工厂模式。希望对您有帮助!

    各位读者老爷们大家好鸭~图图又来了,今天我们要说一下"多态". 怎么理解这两个字呢?可以理解为同一个引用对象的不同表现形态,即将父类的引用指向子类的对象.这是比较官方的书面解释,大 ...

  10. java什么是子类_java什么是子类?

    java中子类的定义为在有继承关系的类中extends前面的类则是子类.[推荐学习:java课程] 继承,是对有着共同特性的多类事物,进行再抽象成一个类.这个类就是多类事物的父类.父类的意义在于可以抽 ...

最新文章

  1. 一年的第几周怎么算_部编版一年级下册第7课《怎么都快乐》图文讲解+知识点梳理...
  2. Android Studio3.0中dependencies依赖由compile变为implementation的区别
  3. where/、trim/ 标签的使用
  4. braintree php 开发,php – 如何为使用Braintree和静态方法调用的端点编写集成测试...
  5. 2021年广东工业大学第十五届文远知行杯程序设计竞赛(同步赛) H.有多短 思维
  6. java改错题技巧,看这篇文章准没错!
  7. Java字符串indexOf(int ch,int fromIndex)方法,带示例
  8. ASP.NET MVC在IIS6下部署的小技巧
  9. photozoompro 8 解锁代码_能够在手机上实现代码编写的APP——Pydroid 3
  10. EmWin 接触---基础函数
  11. Servlet3.0
  12. kubernetes相关命令
  13. 一个cp命令引发的mongodb大量慢查询
  14. sip软电话免费下载地址(eyebeam)
  15. 【嵌入式开发】SIP信令交互总结(1)
  16. 【UEFI实战】HII之uni文件
  17. react--划分Reducer
  18. sonar打包出现的问题The forked VM terminated without saying properly goodbye. VM crash or System.exit called
  19. 服务器winsxs文件夹怎么清理工具,win10系统winsxs文件夹清理的操作方法
  20. 微信小程序生成二维码工具类附带完整示例和源码

热门文章

  1. 联想IdeapadU410重装系统win10
  2. python自动化测试-最常用的自动化测试框架
  3. 达梦数据库报网络通讯异常排查步骤
  4. 头歌-自己动手画CPU(第五关)-寄存器文件设计-Logisim
  5. 自主招生计算机网测考什么,自主招生考试内容有哪些 考哪几门
  6. 计算机网络位置拒绝访问,Win10无法访问D盘提示位置不可用 拒绝访问的解法
  7. guid主分区表损坏如何处理_【硬盘分区表错误】硬盘分区表错误原因_硬盘分区表损坏...
  8. 一篇文章看明白 TCP/IP,TCP,UDP,IP,Socket 之间的关系
  9. 计算机网络家庭网络设计,为家庭设计一个局域网
  10. 沈阳城市建设学院计算机2019,沈阳城市建设学院2019-2020年校历及寒假放假时间安排,什么时候放寒假...