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 inputreader_Java之InputStreamReader类的实现相关推荐

  1. Java InputStreamReader类

    文章目录 总结 InputStreamReader类方法 构造方法 操作方法 总结 InputStreamReader是从字节流到字符流的桥梁, 它读取字节并使用指定的java.nio.charset ...

  2. JAVA 邮件发送工具类

    1.封装邮件接收地址MODEL和邮件信息MODEL package com.sicdt.jnzxgzc.common.mail.model;import java.io.Serializable; / ...

  3. 【JDK源码】java.io包常用类详解

    看完java.io的JDK源码,在网上发现一篇关于java.io中的类使用的文章总结的很全面,看完之后在原文的基础上加了一些自己的总结如下构成了本篇文章.原文地址 一.Java Io流 1. Java ...

  4. Java基础:File类与IO流

    1. File类 1.1 概述 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建.查找和删除等操作. 1.2 构造方法 public File(String path ...

  5. scanner 获取控制台信息_关于java.util.scanner:如何使用Java中的Scanner类从控制台读取输入?...

    如何使用Scanner类从控制台读取输入? 像这样: System.out.println("Enter your username:"); Scanner = input(); ...

  6. Java学习笔记----File类与IO流

    第五章:File类与IO流 第一节:File类 1.1 概述 java.io.File类是文件和目录路径名的抽象表示,主要用于文件和目录的创建.查找和删除等操作 Java把电脑中的文件和文件夹(目录) ...

  7. java记事本UI界面类

    文章目录 前言 一.UI界面 二.My_UI记事本界面类 总结 前言 一.UI界面 java记事本UI界面类My_UI.java, 1.把My_UI.java文件放在包com中(eclipse编辑器可 ...

  8. java new Filereader_Java FileReader类 - Java 教程 - 自强学堂

    Java FileReader类 FileReader类从InputStreamReader类继承而来.该类按字符读取流中数据.可以通过以下几种构造方法创建需要的对象. 在给定从中读取数据的 File ...

  9. Java中的File类和IO流

    Java中的File类和IO流 File类 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建.查找和删除等操作. File的分隔符 import java.io.Fi ...

最新文章

  1. 图解:数据结构中的6种「树」,柠檬问你心中有数吗?
  2. mac升级后虚拟机无法启动_使用了自家M1处理器后,苹果新一代Mac迎来三大重点升级...
  3. 重新捡起flask(二)
  4. selenium 定制启动 chrome 的选项
  5. 脆弱的Scrum,敏捷在哪里?
  6. 【最简单的例子】Editor.md的初步使用
  7. 武侠q传服务器维护,《武侠Q传》就服务器人多过载致歉玩家赞有诚意
  8. 【经典回放】多种语言系列数据结构算法:归并排序
  9. 10月23日见?疑似魅族16T预热海报曝光:定位大屏娱乐旗舰
  10. linux 将当前时间往后调整2分钟_Python处理时间序列常用方法汇总
  11. Linux(Ubuntu)使用日记------自定义命令的使用
  12. 嵌入式系统——面向对象的设计原则
  13. 深入解读Linux内存管理系列(1)——系统启动阶段的操作
  14. CopyBeanUtils坑,xxDto cannot be cast to xxxEntity 类型转化错误
  15. redis 菜鸟教程笔记摘抄整理
  16. 音频怎么转换成mp3格式
  17. JVM MAT分析器中的shallow heap 和 retained heap详解
  18. Oracle数据库有哪些应用结构?
  19. 云原生不可变基础设施
  20. Scratch编程入门-画图模块2【键盘控制的画笔】

热门文章

  1. leetcode 174. Dungeon Game | 174. 地下城游戏(暴力递归->傻缓存->dp)
  2. leetcode 1143. Longest Common Subsequence | 1143. 最长公共子序列(动态规划,暴力递归->傻缓存->dp)
  3. leetcode 454. 4Sum II | 454. 四数相加 II(Java)
  4. IDEA如何设置鼠标滚轮调整字体大小
  5. 网络协议之:加密传输中的NPN和ALPN
  6. Leet Code OJ 3. Longest Substring Without Repeating Characters
  7. 05.full_text match_bool_prefix match_phrase_prefix 查询
  8. 对于半结构化数据的讲解,这可能是最通俗易懂的一篇文章了
  9. 软件工程中的所有内聚类型【吐血整理,附带排名!】
  10. python分词和词频统计