本文主要介绍Java的InputStreamReader类的实现,通过示例代码非常详细的介绍,对大家的学习或者工作有一定的参考价值。有需要的朋友就跟着下面的边肖学习吧。
InputStreamReader类
1、概述
流java.io.InputStreamReader是Reader的子类,是从字节流到字符流的桥梁。
这个类使用指定的字符集读取字节并将它们解码成字符。它的字符集可以由其名称指定,也可以接受平台的默认字符集。
2、继承自父类的共性成员方法
该类继承自Reader类和父类的公共成员方法:
Int()读取一个字符并返回它。
Read (char [] cbuf)一次读取多个字符,并将字符读入数组。
Void close()关闭流并释放与之相关的所有资源。
3、构造方法
InputStreamReader(InputStreamIn)创建使用默认字符集的InputStreamReader。
InputStreamReader(InputStream in,string charset name)创建具有指定字符集的InputStreamReader。
参数:
InputStream in:字节输入流,用于读取保存在文件中的字节。
字符串charsetName:指定的编码表名,不区分大小写。它可以是utf-8/UTF-8、gbk/GBK,而不指定默认情况下使用UTF-8。
4.使用步骤
创建InputStreamReader对象,在构造方法中传递字节输入流和指定的编码表名。
使用InputStreamReader对象中的read方法读取文件。
释放资源。
注意:构造方法中指定的编码表名称要和文件的编码相同,否则会乱码。
演示:
公共静态void main(String[] args)引发IOException {
//1.创建InputStreamReader对象,并构造字节输入流和方法中传递的指定编码表名称。
//InputStreamReader ISR=new InputStreamReader(new file inputstream(' E:\ \ gbk . txt '),' UTF-8 ');//?
//根据GBK将匿名对象流中的字节流解码成字符流
InputStreamReader ISR=new InputStreamReader(new file inputstream(' 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的输入StreamReader类的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望大家以后能多多支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。